Direct3D 9 (對應公式)
Direct3D 會將下列公式套用至每個凸起地圖圖元中的 DU 和 DV 元件。
在這些公式中,DU 和 DV 變數會直接從凸起地圖圖元取得,並由 2x2 矩陣轉換,以產生輸出差異值 DU' 和 DV'。 系統會使用輸出值來修改在下一個紋理階段中定址環境地圖的紋理座標。 轉換矩陣的係數是透過D3DTSS_BUMPENVMAT00、D3DTSS_BUMPENVMAT10、D3DTSS_BUMPENVMAT01和 D3DTSS_BUMPENVMAT11紋理階段狀態來設定。
除了您和 v 差異值之外,系統還可以計算它用來調色下一個混合階段環境地圖色彩的亮度值,如下列公式所示。
在此公式中,L' 是正在計算的輸出亮度。 L 變數是擷取自凸點陣圖圖元的亮度值,其乘以縮放比例、S 和變數 O 中的值位移。D3DTSS_BUMPENVLSCALE和D3DTSS_BUMPENVLOFFSET紋理階段狀態可控制公式中 S 和 O 變數的值。 只有在包含碰撞圖的階段紋理混合作業設定為D3DTOP_BUMPENVMAPLUMINANCE時,才會套用此公式。 使用D3DTOP_BUMPENVMAP時,系統會針對 L' 使用 1.0 的值。
計算輸出差異值 DU' 和 DV'之後,系統會將它們新增至下一個紋理階段中的紋理座標,並依亮度調調所選色彩,以產生套用至多邊形的色彩。
相關主題