Hier-Z

专注于GPU的程序员發表於2024-08-06

光柵化 --> Hier-Z --> Early-Z --> 片段著色 --> Late-Z

Hier-Z 的全稱是 Hierarchical Z Test,分層級的深度測試。

不分層級的深度測試,針對的是被覆蓋的每個畫素點的深度值;
分層級的深度測試,針對的是被覆蓋的每個畫素塊的深度值最值。

類似於,把原影像的一個畫素塊縮小為一個畫素點,
這個畫素點記錄了原畫素塊的深度最大值和最小值,
新的畫素點如果透過了深度測試,則意味著原影像的整個畫素塊都能透過深度測試;
新的畫素點如果不透過深度測試,則意味著原影像的整個畫素塊都不能透過深度測試,直接丟棄;
其他情況下,修改縮放比例,繼續上述判斷。

不同的縮放比例就是所謂的分層。

這樣做的好處是:
● 一個“畫素點”的深度測試可以得到一個畫素塊的深度測試結果
● 現代 GPU 的光柵化加速器大都採用分塊的光柵化演算法