共用方式為


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 位),並建議在紋理階段之間達到8位的飽和度。 不支援可修改的四捨五入模式或例外狀況。 應該支援以捨入到最接近精確度的乘法,將精確度損失保持在最小值。

取樣器計數

可用的紋理取樣器數目如下:

  • 對於 ps_1_0 - ps_1_3,最大值為 4。
  • 對於ps_1_4,最大值為 6。

像素著色器