Occlusion_query的学习与使用

硬件occlusion query目前有三种,依其历史上出现先后排序为:HP_occlusion_test、NV_occlusion_query、ARB_occlusion_query。

首先给出相关资源列表:
1.  http://www.codesampler.com/oglsrc/oglsrc_7.htm#ogl_occlusion_query
2.  http://www.opengl.org/registry/specs/NV/occlusion_query.txt
3.  http://oss.sgi.com/projects/ogl-sample/registry/ARB/occlusion_query.txt
4.  Nvidia GDC2002_occlusion.pdf

occlusion query是用Depth Buffer判断几何体的可见性,此功能的用途较为广泛,如用它可做以下工作:1.Incremental Object-level Culling 2.Order Independent Transparency 3.Lens Flares,Halos,etc 4.Stencil Shadow Volumes


HP_occlusion_test的缺点:
1.它的返回值只有True和False两种状态,而很多时候我们是需要知道通过Depth Test的Pixel(Sample)个数的.
2.它是一种"Stop-and-wait"模式,当有多个查询时,这样会消耗很多时间,因为必须等到取得了前一个查询结果才能进行下一次查询.


NV_occlusion_query解决了以上两个问题.
1.它能返回通过Depth Test的Pixel(Sample)个数,我们可以对一个Geometry的包围盒作NV_occlusion_query,利用其通过的Pixel(Sample)个数近似确定渲染应采用的细节度Level of detail,或者只有当通过的Pixel个数大于某个阈值时再绘制这个Geometry.
2.可以同时进行多个查询,在所有查询后再随意取得某个查询结果,这样解放了等待时间.可以在查询的时候做其他一些工作,如CPU进行其他计算,不会防碍CPU与GPU的并行性.

对于NV_occlusion_query的详细运用,在Nvidia的GDC2002_occlusion.pdf中有较为详细的描述,我还没有看.
在CULLIDE: Interactive Collision Detection Between Complex Models in Large Environments using Graphics Hardware一文中利用了此功能做碰撞检测:当一个Geometry相对于Depth Buffer完全可见时,则此Geometry与Depth Buffer中已经绘制的Geometries不会发生碰撞,文章就是利用这样的思想去做碰撞检测的排除。

ARB_occlusion_query与NV_occlusion_query本质相同,只是更加标准化了,也稍微有所完善吧。详情见:http://oss.sgi.com/projects/ogl-sample/registry/ARB/occlusion_query.txt。 

Amplify Occlusion(AO),中文叫做扩展遮蔽,是一种用于计算机图形学中的遮蔽效果增强技术。 遮蔽效果是计算机图形中一种重要的渲染效果,它用于模拟光线和物体之间的相互遮挡关系。在真实世界中,物体之间的遮蔽现象会导致一些区域变暗或完全不受光照。而在计算机图形中,遮蔽效果的处理是通过在渲染过程中计算每个像素的遮蔽度来实现的。 Amplify Occlusion技术的目的是增强遮蔽效果,使其更加真实和逼真。它通过在计算遮蔽度时引入更多的参数和计算方法,从而提高遮蔽效果的准确性和细节度。 具体来说,Amplify Occlusion技术通常会结合图像空间和屏幕空间的计算方法,并考虑到物体的几何细节和视角变化。它可以通过一些优化技术以及增加采样样本数量来降低计算成本,并尽可能地减少伪影和边缘锯齿等问题。 Amplify Occlusion技术的应用非常广泛。它可以用于游戏开发中,提升游戏场景的真实感和视觉质量;在电影制作中,增强CG场景的渲染效果;并可以应用于虚拟现实和增强现实等领域,提升虚拟环境的真实感。 总的来说,Amplify Occlusion是一种用于计算机图形学中的遮蔽效果增强技术,通过引入更多的参数和计算方法,提高遮蔽效果的准确性和细节度。它有着广泛的应用领域,可以在游戏开发、电影制作和虚拟现实等领域中提升视觉效果的真实感。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值