Freigeben über


Anweisungen – vs_3_0

Dieser Abschnitt enthält Referenzinformationen für die Vertex-Shader-Version 3_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.
  • Textur – Diese Anweisungen unterstützen die Texturadressensuche.
  • Flusssteuerung - Diese Anweisungen fügen Flusssteuerung wie Schleifen, Wiederholungen und hinzu, wenn bool - vs...sonst...Endifen Vergleiche.
  • Neu – Diese Anweisungen sind neu in dieser Version.

Befehlssatz

Name Beschreibung Anweisungsplätze Einrichtung Arithmetik Textur Flusskontrolle Neu
Abs - vs Absolutwert 1 x
hinzufügen – vs Hinzufügen von zwei Vektoren 1 x
Pause – vs Ausbrechen einer Schleife - vs...Endloop - vs oder Rep...Endrep Block 1 x
break_comp – vs Bedingte Unterbrechung einer Schleife - vs...Endloop - vs oder Rep...Endrep Block mit einem Vergleich 3 x
Breakp – vs Ausbrechen einer Schleife - vs...Endloop - vs oder Rep...Endrep Block basierend auf einem Prädikat 3 x
Anruf – vs Aufrufen einer Unterroutine 2 x
callnz bool - vs Aufrufen einer Unterroutine, wenn ein boolesches Register nicht null ist 3 x
callnz pred – vs Aufrufen einer Unterroutine, wenn ein Prädikatregister nicht null ist 3 x
crs – vs Vektorprodukt 2 x
dcl_usage Eingabe (sm1, sm2, sm3 - vs asm) Deklarieren von Eingabevertexregistern (siehe Register - vs_3_0) 0 x
dcl_samplerType (sm3 - vs asm) Deklarieren der Texturdimension für einen Sampler 0 x x
def - vs Definieren von Konstanten 0 x
defb - vs Deklarieren einer booleschen Konstante 0 x
Fi - vs Deklarieren einer ganzzahligen Konstante 0 x
dp3 – vs Dreiteiliges Punktprodukt 1 x
dp4 - vs Produkt mit vier Komponenten punkt 1 x
dst - vs Abstand 1 x
andernfalls – vs Beginnen eines anderen Blocks 1 x
Endif - vs Beenden eines , wenn bool - vs...sonst Block 1 x
Endloop - vs Ende einer -Schleife – vs Block 2 x
Endrep - vs Ende eines Wiederholungsblocks 2 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
if_comp – vs Beginnen Sie eine , wenn bool - vs Block mit einem Vergleich 3 x
, falls vorhanden – vs Beginnen Sie eine , wenn bool - vs Block mit einer Prädikatbedingung 3 x
Bezeichnung – vs Etikett 0 x
lit - vs Berechnen der Beleuchtung 3 x
Protokoll – vs Protokoll mit voller Genauigkeit(x) 1 x
Logp – vs Partielle Genauigkeitsprotokoll (x) 1 x
Schleife – vs Schleife 3 x
lrp - vs Lineare Interpolation 2 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 ein ganzzahliges Register 1 x
mul - vs Multiplizieren 1 x
nop - vs Kein Vorgang 1 x
nrm - vs Normalisieren 3 x
Pow - vs xy 3 x
rcp - vs Gegenseitig 1 x
Rep - vs Wiederholen 3 x
Ret - vs Ende einer Unterroutine 1 x
rsq - vs Reziprozien quadratische Wurzel 1 x
setp_comp – vs Festlegen des Prädikatregisters 1 x
Sge - vs Größer als oder gleich vergleichen 1 x
sgn - vs Zeichen 3 x
sincos - vs Sinus und Kosinus 8 x
slt - vs Kleiner als Vergleich 1 x
Sub - vs Subtrahieren 1 x
texldl - vs Texturlast mit vom Benutzer anpassbarer Detailebene Siehe Hinweis 1 x x
vs Version 0 x

 

Notizen:

  • wenn es sich bei der Textur um eine Würfelkarte handelt, stellen = 5; andernfalls Slots = 2

Vertex-Shaderanweisungen