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, jede Quellregisterkomponente in eine beliebige temporäre Registerkomponente zu kopieren. Swizzling wirkt sich nicht auf die Quellregisterdaten aus.
Component Swizzling
Wie in der folgenden Tabelle gezeigt, kann Swizzling auf die einzelnen Komponenten der Quellregisterdaten angewendet werden (wobei eines der gültigen Vertex-Shadereingaberegister ist – im Vergleich _ zu 1 _ 1).
| Komponentenmodifizierer | BESCHREIBUNG |
|---|---|
| r. [ xyzw ] [ xyzw ] [ xyzw ] [ xyzw xyzw] | Quell-Swizzle |
- Alle vier Komponenten werden immer kopiert. Wenn weniger als vier Komponenten angegeben werden, wird die letzte Komponente wiederholt (xy bedeutet .xyyy). Wenn keine Komponenten angegeben werden, 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 verwendet werden (r für x, g für b usw.).
- Diese Anweisungen implementieren swizzles für die Quellregister-Einzelkomponente: exp, expp, log, logp, pow, rcp, rsq. Das Ergebnis dieser Anweisungen wird in alle vier Zielregisterkomponenten kopiert.
Swizzling kann nicht auf m3x2im Vergleich zu , m3x3 imVergleich zu , m4x3 – vsund m4x4 – im Vergleich zu Anweisungen verwendet werden.