Freigeben über


Konstanter ganzzahliger Register (HLSL PS-Referenz)

Konstanten ganzzahlige Register werden nur von Schleife - ps und rep - ps verwendet.

Sie können mit defi - ps oder SetPixelShaderConstantI festgelegt werden.

Bei Verwendung als Argument für die Schleife - ps-Anweisung :

  • .x ist die Iterationsanzahl. (rep – ps verwendet nur diese Komponente).
  • .y ist der Anfangswert für den Schleifenzähler.
  • .z ist der Inkrementschritt für den Schleifenzähler.
Pixel-Shaderversionen 1_1 1_2 1_3 1_4 2_0 2_sw 2_x 3_0 3_sw
Konstanter Ganzzahlregister x x x

 

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.

Register