Anweisungen – vs_2_0
Dieser Abschnitt enthält Referenzinformationen für die Anweisungen des Vertexshaders version 2_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.
- Flusssteuerung: Diese Anweisungen fügen Flusssteuerungsfunktionen hinzu, z. B. Schleifen...Endloop, wenn... andernfalls... endif - vs, und Subroutine-Aufrufe.
- Neu: Diese Anweisungen sind in dieser Version neu.
Instruktionssatz
Name | BESCHREIBUNG | Anweisungsslots | Einrichten | Arithmetik | Flusssteuerung | Neu |
---|---|---|---|---|---|---|
abs – vs. | Absoluter Wert | 1 | x | x | ||
add – 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 0 (null) ist | 3 | x | x | ||
crs – vs | Produktübergreifend | 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 | ||
defi – vs | Definieren einer ganzzahligen Konstanten | 0 | x | x | ||
dp3 – vs | Drei-Komponenten-Punktprodukt | 1 | x | |||
dp4 – vs | Vier-Komponenten-Punktprodukt | 1 | x | |||
dst – vs | Berechnen des Entfernungsvektors | 1 | x | |||
else – vs | Starten eines else - vs .-Blocks | 1 | x | x | ||
endif – vs | Beenden eines if 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 | |||
if bool – vs | Starten eines if bool - vs block (mit einer booleschen Bedingung) | 3 | x | x | ||
label – vs | Bezeichnung | 0 | x | x | ||
lit – vs | Teilbeleuchtungsberechnung | 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 | 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 | |||
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 das Adressregister (a0) | 1 | x | x | ||
mul - vs | Multiplizieren | 1 | x | |||
nop – vs | Keine Operation | 1 | x | |||
nrm – vs | Normalisieren eines 4D-Vektors | 3 | x | x | ||
pow – vs | xy | 3 | x | x | ||
rcp – vs | Gegenseitige | 1 | x | |||
rep – vs | Wiederholen | 3 | x | x | ||
ret – vs | Ende einer Unterroutine oder eines Standard | 1 | x | x | ||
rsq – vs | Reziproke Quadratwurzel | 1 | x | |||
sge – vs | Vergleich größer als oder gleich | 1 | x | |||
sgn – vs | Signieren | 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 |
Zugehörige Themen