Share via


Konstanter Float-Register (HLSL PS-Referenz)

Pixel-Shadereingaberegister für eine 4D-Gleitkommakonstante.

Sie können mit def - ps oder SetPixelShaderConstantF festgelegt werden.

Das Verhalten von Shaderkonstanten hat sich zwischen Direct3D 8 und Direct3D 9 geändert.

  • Für Direct3D 9 weisen Konstanten, die mit defx festgelegt sind, dem Shaderkonstantenbereich Werte zu. Die Lebensdauer einer mit defx deklarierten Konstante ist nur auf die Ausführung dieses Shaders beschränkt. Umgekehrt werden konstanten, die mithilfe der APIs SetXXXShaderConstantX festgelegt werden, Konstanten im globalen Raum initialisieren. Konstanten im globalen Raum werden erst in den lokalen Raum kopiert (sichtbar für den Shader), bis SetxxxShaderConstants aufgerufen wird.
  • Für Direct3D 8 weisen Konstanten, die mit defx oder den APIs festgelegt sind, dem Shaderkonstantenbereich Werte zu. Jedes Mal, wenn der Shader ausgeführt wird, werden die Konstanten vom aktuellen Shader unabhängig von der Technik verwendet, mit der sie festgelegt werden.

Beispiele

Hier sehen Sie ein Beispiel zum Deklarieren von zwei Gleitkommakonstanten in einem Shader.

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

Diese Konstanten werden jedes Mal geladen , wenn SetPixelShader aufgerufen wird.

Wenn Sie konstante Werte mit der API festlegen, ist keine Shaderdeklaration erforderlich.

Register