游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2413|回复: 9

关于Z-buffer问题

[复制链接]

35

主题

370

帖子

376

积分

中级会员

Rank: 3Rank: 3

积分
376
发表于 2007-1-28 12:52:00 | 显示全部楼层 |阅读模式
         开启z-buffer write 绘制到透明像素的时候(比如绘制带透明部分的物体)会向Zbuffer写信息对吗,z-buffer 不就是表示一块和屏幕大小差不多的二维区域么?为什么绘制透明像素的时候还要向z-buffer写深度值呢?这样造成透明物体后面的东西不可见了,就的使用排序,请教各位大侠,还有其他好的办法吗? 注:我说的是在多个部分透明的物体交叉遮挡的情况

35

主题

1735

帖子

1739

积分

金牌会员

Rank: 6Rank: 6

积分
1739
QQ
发表于 2007-1-28 14:44:00 | 显示全部楼层

Re:关于Z-buffer问题

Z缓存与透明没有直接的关系吧?是否透明应与ALPHA密切相关.

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2007-1-28 18:24:00 | 显示全部楼层

Re:关于Z-buffer问题

depth test 开启
z write 关闭,就OK了。

35

主题

1735

帖子

1739

积分

金牌会员

Rank: 6Rank: 6

积分
1739
QQ
发表于 2007-1-28 18:49:00 | 显示全部楼层

Re:关于Z-buffer问题

9494

35

主题

370

帖子

376

积分

中级会员

Rank: 3Rank: 3

积分
376
 楼主| 发表于 2007-1-29 00:00:00 | 显示全部楼层

Re:关于Z-buffer问题

关闭了就不能正确的前后渲染了。
注意,我说的是物体有部分是透明的,一部分不是多个这样的物体交叉排列。但是开启了ZB,透明的部分也会把后面渲染的东西档住,如果检测到相素是透明的,那么就不写ZB,就可以正确渲染了。不知道能否实现

15

主题

83

帖子

123

积分

注册会员

Rank: 2

积分
123
发表于 2007-1-29 01:12:00 | 显示全部楼层

Re: Re:关于Z-buffer问题

smile636: Re:关于Z-buffer问题

关闭了就不能正确的前后渲染了。
注意,我说的是物体有部分是透明的,一部分不是多个这样的物体交叉排列。...

一个mesh本身不能指定多个材质,你能指定有的透明有的不透明,很显然就是多个SubMesh,按SubMesh渲染

35

主题

370

帖子

376

积分

中级会员

Rank: 3Rank: 3

积分
376
 楼主| 发表于 2007-1-30 23:53:00 | 显示全部楼层

Re:关于Z-buffer问题

哎,居然大家都把问题看简单了。那以前渲染还要排序干什么? 注意我说的是多个物体

35

主题

370

帖子

376

积分

中级会员

Rank: 3Rank: 3

积分
376
 楼主| 发表于 2007-1-30 23:54:00 | 显示全部楼层

Re:关于Z-buffer问题

谁对zbuffer的原理熟悉呢。。帮下我啊

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2007-2-2 00:35:00 | 显示全部楼层

Re:关于Z-buffer问题

我前段时间刚好碰到这个问题

m_pBaseAppHandle->d_3DDevice->SetRenderState(D3DRS_ZENABLE, TRUE);
m_pBaseAppHandle->d_3DDevice->SetRenderState(D3DRS_ZWRITEENABLE, TRUE);                       
dxApp->Render(timeDelta); //绘制3d场景
m_pBaseAppHandle->d_3DDevice->SetRenderState(D3DRS_ZENABLE, FALSE);
m_pBaseAppHandle->d_3DDevice->SetRenderState(D3DRS_ZWRITEENABLE, FALSE);       
guiSystem.renderGUI(); //绘制GUI用户界面
后面的GUI就可以按顺序排放了,而且我做到了透明混合,当然还有一些混合状态要设置

35

主题

370

帖子

376

积分

中级会员

Rank: 3Rank: 3

积分
376
 楼主| 发表于 2007-2-2 13:43:00 | 显示全部楼层

Re:关于Z-buffer问题

    就你们说的这么简单我还要来问吗?我试过好多选项了 。你知道为什么DX SDK里面哪个billboard例子为什么每帧都要对树木排序吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 10:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表