Share via


Constant Integer Register (HLSL VS-Referenz)

Konstanten ganzzahlige Register werden nur von Schleife - vs und rep - vs.

Sie können mit defi - vs oderSetVertexShaderConstantI festgelegt werden.

Bei Verwendung als Argument für die Schleife – 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 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.

Vertex-Shaderregister