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
Zugehörige Themen