光栅化 --> Hier-Z --> Early-Z --> 片段着色 --> Late-Z
Hier-Z 的全称是 Hierarchical Z Test,分层级的深度测试。
不分层级的深度测试,针对的是被覆盖的每个像素点的深度值;
分层级的深度测试,针对的是被覆盖的每个像素块的深度值最值。
类似于,把原图像的一个像素块缩小为一个像素点,
这个像素点记录了原像素块的深度最大值和最小值,
新的像素点如果通过了深度测试,则意味着原图像的整个像素块都能通过深度测试;
新的像素点如果不通过深度测试,则意味着原图像的整个像素块都不能通过深度测试,直接丢弃;
其他情况下,修改缩放比例,继续上述判断。
不同的缩放比例就是所谓的分层。
这样做的好处是:
● 一个“像素点”的深度测试可以得到一个像素块的深度测试结果
● 现代 GPU 的光栅化加速器大都采用分块的光栅化算法