图形渲染管线中遮挡剔除

本文探讨了图形渲染管线中的遮挡剔除技术,包括深度测试、Early-Depth测试、Z-prepass和延迟渲染等方法的优缺点。重点介绍了基于帧间信息的渲染排序技术,该技术通过利用连续帧的相似性提高Early-Depth测试的效率,从而实现性能优化。随着算法的改进,不仅提升了渲染效率,还降低了硬件能耗,尤其对移动端GPU的运行具有重要意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图形渲染管线中遮挡剔除

提示:各项技术后跟的DOI就是该技术的文章对应


在图形实时渲染过程中GPU按照CPU所提供的顶点序列进行无差别绘制,但是过程中会绘制大量的被遮挡对象,此部分对象对于用户当前角度当前位置的观察无影响作用,故对此部分被遮挡对象进行剔除可大量提升绘制效率[http://dsa.dayainfo.com/dsa/show/upload?allowReg=true&unitId=1060],但是如何进行高效剔除便是业界探索的目标,本文将对近年来的计算方法进行总结与评价。
为了解决图形渲染管线中对于不同层次像素的正确绘制,采用最广泛的方法是深度测试,一般的深度测试模块放在整个渲染管线的最后以剔除不需要的像素片段。每一次绘制都对深度缓冲区中存储的深度进行比较,如果新的像素更靠前(距离用户更近)则使用当前像素的深度更新深度缓冲区,并将该像素发送到blending stage进行更新。否则把新像素丢弃。该方法虽然可以正确的进行图形绘制,但是此种剔除方法存在很大的缺陷:那便是效率,在每一次进行深度测试和剔除时,其他计算和渲染步骤均已完成,尽管对像素进行了正确的剔除,但是由于当前模块在整个渲染管线的最后,故无助于提升效率[10.1109/TVCG.2006.29]。
为了进行高效的剔除,当前的GPU 采用的是Early-Depth测试,该测试方法是在执行早期进行深度测试,然后将数据发往片段处理器,该方法在绘制深度越大的情况下效果越明显,看上去该方法可以有效地提升普通深度测试管线的弊端,但是由于深度测试顺序时无差别的,故只有先对靠前的像素进行绘制然后对靠后的像素进行测试才能达到最高的效率,但事实并非每次都如此幸运。有实验表明,该方法可以在原始深度测试的基础上进行效能提升和功耗降低,但这依赖于进行绘制的像素的顺序,故无法稳定高效的进行绘制[10.1109/TVCG.2008.104][ 10.1016/S0167-8191(97)00028-8]。
Z-prepass使用的是进行两次渲染以降低过度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值