常數整數暫存器 (HLSL VS 參考)
常數整數暫存器只能由 loop - vs 和 rep - vs 使用。
您可以使用 defi 來設定它們 - vs 或 SetVertexShaderConstantI。
當做迴圈的引數使用 時 - 與 指令:
- .x 是反復專案計數。 (rep - 與 只使用此元件) 。
- .y 是迴圈計數器的初始值。
- .z 是迴圈計數器的遞增步驟。
著色器常數的行為在 Direct3D 8 和 Direct3D 9 之間已變更。
- 針對 Direct3D 9,使用 defx 設定的常數會將值指派給著色器常數空間。 以 defx 宣告的常數存留期僅限於該著色器的執行。 相反地,使用 API SetXXXShaderConstantX 初始化全域空間中的常數所設定的常數。 全域空間中的常數不會複製到著色器 (可見的本機空間) ,直到呼叫 SetxxxShaderConstants 為止。
- 針對 Direct3D 8,使用 defx 或 API 設定的常數都會將值指派給著色器常數空間。 每次執行著色器時,目前的著色器都會使用常數,不論用來設定常數的技術為何。
相關主題