实际使用光栅化会出现一个无法避免现象,那就是 Z-fighting

[摄影机与靠前的平面的距离] 与 [摄影机与靠后的平面的距离] 的比值如果小于深度缓冲(Z-buffering)的精度,就会出现两个平面「争相」为画布着色。

早期的一些游戏有较低的可见视距就是为了避免远景出现 Z-fighting 现象,从而节省资源,或将资源用在刀刃(高清贴图)上。最直觉的避免 Z-fighting 问题的方法就是避免面重叠,比如使用有厚度的且与地面有倾斜角度的草,而不是垂直于地面的草贴图。或者从算法解决,使用对数深度缓冲(Logarithmic Depth Buffer)的一些算法,能不增加太多的资源的情况下规避许多 Z-fighting 现象。

一些资料来源: 标题视频 Z-Fighting Jamie King - Youtube

#考据 #原理
 
 
Back to Top