Share via


Quellregister Swizzling (HLSL VS-Referenz)

Bevor eine Anweisung ausgeführt wird, werden die Daten in einem Quellregister in ein temporäres Register kopiert. Swizzling bezieht sich auf die Möglichkeit, eine beliebige Quellregisterkomponente in eine beliebige temporäre Registerkomponente zu kopieren. Swizzling wirkt sich nicht auf die Quellregisterdaten aus.

Komponenten-Swizzling

Wie in der folgenden Tabelle gezeigt, kann swizzling auf die einzelnen Komponenten der Quellregisterdaten angewendet werden (wobei are eines der gültigen Vertexshadereingaberegister ist – vs_1_1).

Komponentenmodifizierer Beschreibung
r.[xyzw][xyzw][xyzw][xyzw] Quell-Swizzle

 

  • Alle vier Komponenten werden immer kopiert. Wenn weniger als vier Komponenten angegeben sind, wird die letzte Komponente wiederholt (xy bedeutet .xyyyy). Wenn keine Komponenten angegeben sind, wird x wiederholt (.xxxx).
  • Die Komponenten können in beliebiger Reihenfolge angezeigt werden. v0.ywx führt zu v0.ywxx.
  • Die rgba-Komponenten können jeweils für xyzw (r für x, g für b usw.) verwendet werden.
  • Diese Anweisungen implementieren Quellregister-Einzelkomponenten-Swizzles: exp, expp, logp, pow, rcp, rsq. Das Ergebnis dieser Anweisungen wird in alle vier Zielregisterkomponenten kopiert.

Swizzling kann nicht für die Anweisungen m3x2 - vs, m3x3 - vs, m4x3 - vs und m4x4 - verwendet werden.

Vertex-Shader-Registermodifizierer