Freigeben über


Anweisungen – vs_2_0

Dieser Abschnitt enthält Referenzinformationen für die Vertex-Shader-Version 2_0-Anweisungen.

Es gibt mehrere Arten von Vertex-Shaderanweisungen, wie in der Tabelle dargestellt. Spalten rechts bedeuten Folgendes:

  • Anweisungsplätze – Anzahl der von den einzelnen Anweisungen verwendeten Anweisungsplätze.
  • Setup – nicht arithmetische Anweisungen. Jeder Shader muss über eine Versionsanweisung verfügen und muss die erste Anweisung sein.
  • Arithmetisch : Diese Anweisungen stellen die mathematischen Vorgänge in einem Shader bereit.
  • Flusssteuerung - Diese Anweisungen fügen Flusssteuerungsfunktionen wie Schleifenschleife...Endloop-, , wenn...sonst...Endifen - vs- und Unterroutinaufrufe.
  • Neu – Diese Anweisungen sind neu in dieser Version.

Befehlssatz

Name Beschreibung Anweisungsplätze Einrichtung Arithmetik Flusskontrolle Neu
Abs - vs Absolutwert 1 x x
hinzufügen – vs Hinzufügen von zwei Vektoren 1 x
Anruf – vs Aufrufen einer Unterroutine 2 x x
callnz bool - vs Aufrufen einer Unterroutine, wenn ein boolesches Register nicht null ist 3 x x
crs – vs Vektorprodukt 2 x x
dcl_usage Eingabe (sm1, sm2, sm3 - vs asm) Deklarieren von Eingabevertexregistern (siehe Register - vs_2_0) 0 x
def - vs Definieren von Konstanten 0 x
defb - vs Definieren einer booleschen Konstante 0 x x
Fi - vs Definieren einer ganzzahligen Konstante 0 x x
dp3 – vs Dreiteiliges Punktprodukt 1 x
dp4 - vs Produkt mit vier Komponenten punkt 1 x
dst - vs Berechnen des Entfernungsvektors 1 x
andernfalls – vs Beginnen Sie eine anderen – vs Block 1 x x
Endif - vs Beenden einer , wenn bool - vs...else - vs Block 1 x x
Endloop - vs Ende einer -Schleife – vs Block 2 x x
Endrep - vs Ende eines Wiederholungsblocks 2 x x
exp - vs Volle Genauigkeit 2x 1 x
Expp – vs Teilgenauigkeit 2x 1 x
frc - vs Bruchkomponente 1 x
, wenn bool - vs Beginnen Sie eine , wenn bool - vs Block (unter Verwendung einer booleschen Bedingung) 3 x x
Bezeichnung – vs Etikett 0 x x
lit - vs Teilbeleuchtungsberechnung 3 x
Protokoll – vs Protokoll mit voller Genauigkeit(x) 1 x
Logp – vs Partielle Genauigkeitsprotokoll (x) 1 x
Schleife – vs Schleife 3 x x
lrp - vs Lineare Interpolation 2 x x
m3x2 - vs 3x2 multiplizieren 2 x
m3x3 - vs 3x3 multiplizieren 3 x
m3x4 - vs 3x4 multiplizieren 4 x
m4x3 - vs 4x3 multiplizieren 3 x
m4x4 - vs 4x4 multiplizieren 4 x
verrückt - vs Multiplizieren und Hinzufügen 1 x
max . vs Maximum 1 x
min - vs Minimum 1 x
mov - vs Bewegen 1 x
mova - vs Verschieben von Daten aus einem Gleitkommaregister in das Adressregister (a0) 1 x x
mul - vs Multiplizieren 1 x
nop - vs Kein Vorgang 1 x
nrm - vs Normalisieren eines 4D-Vektors 3 x x
Pow - vs xy 3 x x
rcp - vs Gegenseitig 1 x
Rep - vs Wiederholen 3 x x
Ret - vs Ende einer Unterroutine oder eines Hauptteils 1 x x
rsq - vs Reziprozien quadratische Wurzel 1 x
Sge - vs Größer als oder gleich vergleichen 1 x
sgn - vs Zeichen 3 x x
sincos - vs Sinus und Kosinus 8 x x
slt - vs Kleiner als Vergleich 1 x
Sub - vs Subtrahieren 1 x
vs Version 0 x

 

Vertex-Shaderanweisungen