ps_1_1、ps_1_2、ps_1_3、ps_1_4
圖元著色器組合器是由一組指令所組成,可在暫存器中包含的圖元資料上運作。 作業會以由運算子和一或多個運算元組成的指令來表示。 指示會使用暫存器將資料傳入和移出圖元著色器 ALU。 暫存器也可以由某些指示用來保存暫存結果。
注意
圖元著色器 1.x 的 HLSL 支援已被取代。
指示
圖元著色器指令有兩個主要類別:算術指示和紋理定址指示。 算術指令會修改色彩資料。 紋理定址作業會處理紋理座標資料,而且在大部分情況下,取樣紋理。 圖元著色器指示是以每個圖元為基礎執行;也就是說,他們不知道管線中的其他圖元。
紋理定址指令會耗用一個位置,但算術指令可以配對,讓色彩元件 (RGB) 和單一位置中的 Alpha 元件指令。
ps_1_1、ps_1_2、ps_1_3 ps_1_4指示 包含可用指示的清單。
啟用多重取樣時,圖元著色器只會針對每個圖元執行一次,而不會針對每個子圖元執行一次。 多重取樣只會增加多邊形邊緣的解析度,以及深度和樣板測試。 例如,如果已啟用 3x3 多重取樣,而且找到三角形進行點陣化,以涵蓋特定圖元的九個子圖元的五個,則圖元著色器會執行一次,且相同的色彩結果會套用至所有五個子圖元。
暫存器
ps_1_1__ps_1_2__ps_1_3__ps_1_4暫存器 會列出著色器 ALU 所使用的不同暫存器。
修飾詞
ps_1_X修飾詞 可用來變更指令的功能,或讀取或寫入暫存器的資料。
Direct3D 9 需要中繼計算,才能針對所有表面格式至少維持 8 位精確度。 建議將精確度 (12 位的 12 位) ,而且建議在紋理階段之間飽和度為 8 位。 不支援可修改的四捨五入模式或例外狀況。 應該使用四捨五入到最接近的有效位數來支援乘法,以將精確度損失保持在最小值。
取樣器計數
可用的紋理取樣器數目如下:
- 對於 ps_1_0 - ps_1_3,最大值為 4。
- 對於ps_1_4,最大值為 6。
相關主題