常數整數快取器只能由 迴圈使用 - ps 和 rep - ps。
您可以使用 defi 來設定它們 - ps 或 SetPixelShaderConstantI。
當做 循環的自變數使用時 - ps 指示:
- .x 是反覆項目計數。 (rep - ps 只使用此元件)。
- .y 是循環計數器的初始值。
- .z 是循環計數器的遞增步驟。
圖元著色器版本 | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
常數整數緩存器 | x | x | x |
著色器常數的行為在 Direct3D 8 和 Direct3D 9 之間已變更。
- 針對 Direct3D 9,使用 defx 設定的常數會將值指派給著色器常數空間。 以 defx 宣告的常數存留期僅限於執行該著色器。 相反地,使用 API SetXXXShaderConstantX 初始化全域空間中的常數。 在呼叫 SetxxxShaderConstants 之前,全域空間中的常數不會複製到本機空間(對著色器可見)。
- 針對 Direct3D 8,使用 defx 或 API 設定的常數都會將值指派給著色器常數空間。 每次執行著色器時,不論用來設定常數的技術為何,目前著色器都會使用常數。
相關主題