Freigeben über


Anweisungen – vs_3_0

Dieser Abschnitt enthält Referenzinformationen für die Anweisungen des Vertexshaders version 3_0.

Es gibt verschiedene Arten von Vertex-Shaderanweisungen, wie in der Tabelle gezeigt. Spalten auf der rechten Seite bedeuten Folgendes:

  • Anweisungsslots: Anzahl der von jeder Anweisung verwendeten Anweisungsslots.
  • Setup: Nicht arithmetische Anweisungen. Jeder Shader muss über eine Versionsanweisung verfügen, und es muss die erste Anweisung sein.
  • Arithmetik: Diese Anweisungen stellen die mathematischen Operationen in einem Shader bereit.
  • Textur: Diese Anweisungen unterstützen die Suche nach Texturadressen.
  • Flusssteuerung: Diese Anweisungen fügen Flusssteuerung wie Schleifen, Wiederholungen und if bool - vs... andernfalls... Endif-Vergleiche .
  • Neu: Diese Anweisungen sind in dieser Version neu.

Instruktionssatz

Name BESCHREIBUNG Anweisungsslots Einrichten Arithmetik Struktur Flusssteuerung Neu
abs – vs. Absoluter Wert 1 x
add – vs Hinzufügen von zwei Vektoren 1 x
break – vs Ausbrechen einer Schleife – vs... endloop – vs oder rep... endrep-Block 1 x
break_comp – vs Bedingter Ausbruch 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 0 (null) ist 3 x
callnz pred – vs Aufrufen einer Unterroutine, wenn ein Prädikatregister nicht null ist 3 x
crs – vs Produktübergreifend 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
defi – vs Deklarieren einer ganzzahligen Konstante 0 x
dp3 – vs Drei-Komponenten-Punktprodukt 1 x
dp4 – vs Vier-Komponenten-Punktprodukt 1 x
dst – vs Distance 1 x
else – vs Starten eines Else-Blocks 1 x
endif – vs Beenden eines if bool - vs... Else-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
if bool – vs Starten eines if bool - vs block (mit einer booleschen Bedingung) 3 x
if_comp – vs Beginnen Sie mit einem Vergleich, wenn bool – vs . block 3 x
if pred – vs Starten einer if bool - vs block mit einer Prädikatbedingung 3 x
label – vs Bezeichnung 0 x
lit – vs Berechnen der Beleuchtung 3 x
log – vs Protokoll mit voller Genauigkeit (x) 1 x
logp – vs Protokoll mit partieller Genauigkeit(x) 1 x
Schleife – vs. Loop 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
mad - vs Multiplizieren und Hinzufügen 1 x
max : vs Maximum 1 x
min : vs Minimum 1 x
mov – vs Move 1 x
mova - vs Verschieben von Daten aus einem Gleitkommaregister in ein Ganzzahlregister 1 x
mul - vs Multiplizieren 1 x
nop – vs Keine Operation 1 x
nrm – vs Normalize 3 x
pow – vs xy 3 x
rcp – vs Gegenseitige 1 x
rep – vs Wiederholen 3 x
ret – vs Ende einer Unterroutine 1 x
rsq – vs Reziproke Quadratwurzel 1 x
setp_comp – im Vergleich Festlegen des Prädikatregisters 1 x
sge – vs Vergleich größer als oder gleich 1 x
sgn – vs Signieren 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 benutzerseitig anpassbarem Detailgrad Siehe Hinweis 1 x x
Vs Version 0 x

 

Hinweise:

  • wenn es sich bei der Textur um eine Cubezuordnung handelt, slots = 5; andernfalls Slots = 2

Anweisungen zum Vertex-Shader