游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1884|回复: 3

有关遮挡剔除的问题

[复制链接]

3

主题

8

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2007-3-18 15:00:00 | 显示全部楼层 |阅读模式
我用 OcclusionQueriesNV 这个扩展来做遮挡查询然后绘制可见的部分
我再一帧中分别做了两次绘制,一次是绘制可见物,一次是绘制所有物体来进行查询
但是在我做查询绘制的时候使用物体的包围盒来做的(为了提高效率)
因此就会出现物体和包围盒交替出现在屏幕的情况
请问这个问题如何解决

还有是不是我对OcclusionQueriesNV这个扩展的理解有误,我觉得如果要进行查询是
要把希望查询的东西绘制一遍的,如果不需要绘制就能查询应该怎么做

谢谢

3

主题

8

帖子

8

积分

新手上路

Rank: 1

积分
8
 楼主| 发表于 2007-3-18 20:11:00 | 显示全部楼层

Re:有关遮挡剔除的问题

3

主题

89

帖子

89

积分

注册会员

Rank: 2

积分
89
QQ
发表于 2007-3-18 21:14:00 | 显示全部楼层

Re:有关遮挡剔除的问题

在查询时,用glColorMask关闭颜色缓存的写操作,这样包围体不会被画出来。
任何通过深度测试(depth test)的像素会被occlusion query统计。

8

主题

390

帖子

390

积分

中级会员

Rank: 3Rank: 3

积分
390
发表于 2007-3-19 10:30:00 | 显示全部楼层

Re:有关遮挡剔除的问题

1:关闭color buffer,打开zbuffer,渲染所有物体。
2:关闭zbuffer,渲染物体包围盒,进行遮挡查询。
3:获取遮挡结果,打开color buffer和z buffer进行物体渲染。。。。。。。。。。。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-26 17:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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