游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7721|回复: 23

请教关于depth buffer的使用问题

[复制链接]

4

主题

28

帖子

28

积分

注册会员

Rank: 2

积分
28
发表于 2006-11-16 10:32:00 | 显示全部楼层 |阅读模式
本人是新手,对这些使用都不熟悉,希望指教

我希望将一些数据写入depth buffer中,然后再画一个特定深度的矩形,目的是将depth buffer中在这个矩形深度之上的元素显示出来,基本代码是这个样子的:请高手指点一下是不是应该是这样:

Device->CreateDepthStencilSurface(8,8,D3DFMT_D16_LOCKABLE,D3DMULTISAMPLE_NONE, 0, true, &pDepthSurface, NULL );

Device->UpdateSurface(pTexSurface, 0, pDepthSurface, 0);//pTexSurface是另外一个格式为D3DFMT_A4R4G4B4的texture

Device->SetDepthStencilSurface(pDepthSurface);
Device->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
Device->SetRenderState( D3DRS_ZFUNC, D3DCMP_LESS );

//再接下去画一个矩形

可为什么屏幕上什么都没有显示阿

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2006-11-16 10:50:00 | 显示全部楼层

Re:请教关于depth buffer的使用问题

2Pass,1pass 画场景,2pass将Depth作为 Texture 贴在矩形上画出来。

4

主题

28

帖子

28

积分

注册会员

Rank: 2

积分
28
 楼主| 发表于 2006-11-16 13:09:00 | 显示全部楼层

Re:请教关于depth buffer的使用问题

那请问在第一步中我要将一个texture的纹理中的数据放到 depth buffr里面 ,像我代码中这样

Device->CreateDepthStencilSurface(8,8,D3DFMT_D16_LOCKABLE,D3DMULTISAMPLE_NONE, 0, true, &pDepthSurface, NULL );

Device->UpdateSurface(pTexSurface, 0, pDepthSurface, 0);//pTexSurface是另外一个格式为D3DFMT_A4R4G4B4的texture
这样可以吗实现预期效果吗?
我按照你的思路试了一下.可能细节上我还有点问题

106

主题

743

帖子

745

积分

高级会员

Rank: 4

积分
745
QQ
发表于 2006-11-16 18:40:00 | 显示全部楼层

Re:请教关于depth buffer的使用问题

请问楼上:纹理中的数据为什么要放到深度缓冲里面?这样做有什么用么?

4

主题

28

帖子

28

积分

注册会员

Rank: 2

积分
28
 楼主| 发表于 2006-11-16 20:56:00 | 显示全部楼层

Re:请教关于depth buffer的使用问题

哦,呵呵,我是在作关于gpu用于通用计算的东西(老板的,各位不要见笑),我们的方向是实现gpu上的一个模拟数据库操作,如果你感兴趣,可以和我一起看一下研究一下,我可以把更多的资料共享出来,在gpu上的排序我已经实现了。

106

主题

743

帖子

745

积分

高级会员

Rank: 4

积分
745
QQ
发表于 2006-11-17 09:21:00 | 显示全部楼层

Re:请教关于depth buffer的使用问题

请问楼上:你做这个是用于游戏的么?资料请发到:hwbnetcom@163.com,我想看看。

4

主题

28

帖子

28

积分

注册会员

Rank: 2

积分
28
 楼主| 发表于 2006-11-17 10:31:00 | 显示全部楼层

Re: Re:请教关于depth buffer的使用问题

hwbnet: Re:请教关于depth buffer的使用问题

请问楼上:你做这个是用于游戏的么?资料请发到:hwbnetcom@163.com,我想看看。

汗...不好意思,我们不是用来做游戏,而是利用gpu作一些通用计算,现在我做的是实现数据库的模拟操作,资料已经发到您的邮箱里面,可以参考一下

也希望可以帮助我关于一些directx编程上面的 具体的技术问题

谢谢!

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2006-11-17 12:08:00 | 显示全部楼层

Re: Re:请教关于depth buffer的使用问题

Ethanph: Re:请教关于depth buffer的使用问题

那请问在第一步中我要将一个texture的纹理中的数据放到 depth buffr里面 ,像我代码中这样

Device->Cr...

可以创建一个 DepthStencil 的 Texture.

106

主题

743

帖子

745

积分

高级会员

Rank: 4

积分
745
QQ
发表于 2006-11-17 19:58:00 | 显示全部楼层

Re:请教关于depth buffer的使用问题

楼主:你的资料看了一下,我想通用计算是可以用于游戏的。

由于我不懂英文,DX只懂得一点基础的,楼主要是有中文资料请发给我一份,谢谢!

在gpu上的排序,楼主什么时候有空也说给我听听。

4

主题

28

帖子

28

积分

注册会员

Rank: 2

积分
28
 楼主| 发表于 2006-11-17 21:40:00 | 显示全部楼层

Re:请教关于depth buffer的使用问题

排序是用shader实现的,好像大家都建议我不要动depth buffer,好像会效率很低,是这样的吗?

有人建议我可以使用alpha test实现类似操作,但不知道为什么好像不起作用,我的显卡是ati radeon9550 应该支持alpha test操作的吧?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 22:14

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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