MAIN CONTENT:
要讨论PreZ和EarlyZ这个话题的话还是要从渲染管线入手。
当我们使用各种方法把场景里的物体尽量剔除干净后,留下了一些我们必须要渲染的物体
这些物体的数据就会被送到渲染管线进行渲染。
多数情况会有如下重叠的情况出现
在最原始的渲染流程中,会先渲染A。再渲染B,在渲染B的时候会比较当前渲染的像素的深度和深度Buffer的值,如果通过深度测试则保留,没有通过深度测试则会被丢弃,这时就会带来浪费。当PixleShader计算量越大的时候,这个浪费就会越明显,所以显卡商把深度比较这个事情放到PixleShader前面进行,这个新的阶段取名叫EarlyZ(当然还有其它方法技术名字就是其它的了),如果这个像素一开始就无法通过深度测试,那PixleShader根本就不会计算它,使用这个EarlyZ机制来节省大量性能。(下图中红色部分的像素不会跑PS计算,绿色的会计算)
————————————————
版权声明:本文为CSDN博主「cpongo10」的原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cpongo10/article/details/100745176
MAIN