Freigeben über


Konstanter ganzzahliger Register (HLSL PS-Bezug)

Konstanten ganzzahlige Register werden nur von Schleife - ps und Rep - psverwendet.

Sie können mit defi - ps oder SetPixelShaderConstantIfestgelegt werden.

Wird als Argument für die Schleife verwendet – 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.
Pixelshaderversionen 1_1 1_2 1_3 1_4 2_0 2_sw 2_x 3_0 3_sw
Konstanter ganzzahliger Register x x x

 

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

  • Bei Direct3D 9 werden Konstanten, die mit defx festgelegt sind, dem Shaderkonstantenbereich Werte zugewiesen. 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-Initialisierungskonstanten im globalen Raum festgelegt werden. Konstanten im globalen Raum werden erst in den lokalen Bereich kopiert (sichtbar für den Shader), bis SetxxxShaderConstants aufgerufen wird.
  • Bei Direct3D 8 werden Konstanten, die mit Defx festgelegt sind, oder die APIs dem Shaderkonstantenbereich Werte zuweisen. Jedes Mal, wenn der Shader ausgeführt wird, werden die Konstanten vom aktuellen Shader unabhängig von der zum Festlegen verwendeten Technik verwendet.

registriert