文章目录
前言
本章节补充一下深度测试的内容,主要包含:为什么要有深度测试?深度测试现代实现方式?
正文
为什么要有深度测试?
画家算法
当我们渲染两个三角形的时候,如何体现出遮挡关系的呢?实际上一开始,就是谁先渲染谁就可能被覆盖,这种算法就是画家算法。
就如起名,就像画家画画一样,先画的再后面,同样的区域后画的覆盖之!如下图所示:

循环遮挡
这个山、草地、大树就体现出了这种层次关系,但是当我们需要处理特别复杂的遮挡关系的时候,这种算法就无能为力了,如下所示:

这种情况就是循环遮挡的关系,无法单纯的实现完成!所以需要引入Z-buer的机制来进行解决这种遮挡问题。
总结一下: 深度测试的本质是为了体现先后的遮挡关系。简单的情形,如画家算法就可以满足,复杂的情形,就需要利用z-buffer机制处理!
深度测试当代最常见实现方式?
总述
通过引入z-buffer机制,通过空间换时间的方法,从而处理像素级别的遮挡问题!
什么是z-buffer呢?
其实本质上就是一块和屏幕空间分辨率同等大小的内存空间,每个元素是

最低0.47元/天 解锁文章
1116

被折叠的 条评论
为什么被折叠?



