Freigeben über


Constant Integer Register (HLSL VS-Referenz)

Konstantenzahlenregister werden nur von Schleife ( vs und Rep - vsverwendet.

Sie können mit Defi - vs oder SetVertexShaderConstantIfestgelegt werden.

Wird als Argument für die -Schleife verwendet – vs Anweisung:

  • X ist die Iterationsanzahl. (Rep - vs verwendet nur diese Komponente).
  • Y ist der Anfangswert für den Schleifenzähler.
  • .z ist der Inkrementschritt für den Schleifenzähler.

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.

Vertex-Shader registriert