共用方式為


常數浮點數暫存器 (HLSL PS 參考)

4D 浮點常數的圖元著色器輸入暫存器。

您可以使用 def - psSetPixelShaderConstantF來設定它們。

著色器常數的行為在 Direct3D 8 與 Direct3D 9 之間已變更。

  • 針對 Direct3D 9,使用 defx 設定的常數會將值指派給著色器常數空間。 以 defx 宣告的常數存留期僅限於該著色器的執行。 相反地,常數是使用 API SetXXXShaderConstantX 初始化全域空間中的常數。 在呼叫 SetxxxShaderConstants 之前,全域空間中的常數不會複製到著色器) 可見的本機空間 (。
  • 針對 Direct3D 8,使用 defx 或 API 設定的常數會將值指派給著色器常數空間。 每次執行著色器時,目前著色器都會使用常數,而不論用來設定常數的技術為何。

範例

以下是在著色器內宣告兩個浮點常數的範例。

def c40, 0.0f,0.0f,0.0f,0.0f;

每次呼叫 SetPixelShader 時,都會載入這些常數。

如果您要使用 API 設定常數值,則不需要著色器宣告。

寄存 器