Istruzioni - vs_2_0

Questa sezione contiene informazioni di riferimento per le istruzioni del vertex shader versione 2_0.

Esistono diversi tipi di istruzioni per vertex shader, come illustrato nella tabella. Le colonne a destra indicano quanto segue:

  • Slot di istruzioni: numero di slot di istruzioni usati da ogni istruzione.
  • Installazione: istruzioni non aritmetiche. Ogni shader deve avere un'istruzione di versione e deve essere la prima istruzione.
  • Aritmetica: queste istruzioni forniscono le operazioni matematiche in uno shader.
  • Controllo flusso: queste istruzioni aggiungono funzionalità di controllo del flusso, ad esempio ciclo... endloop, se... else... endif - vs e chiamate subroutine.
  • Novità: queste istruzioni sono nuove per questa versione.

Set di istruzioni

Nome Descrizione Slot di istruzioni Installazione Aritmetico Controllo di flusso Nuovo
abs - vs Valore assoluto 1 x x
add - vs Aggiungere due vettori 1 x
call - vs Chiamare una subroutine 2 x x
callnz bool - vs Chiamare una subroutine se un registro booleano non è zero 3 x x
crs - vs Prodotto incrociato 2 x x
dcl_usage input (sm1, sm2, sm3 - vs asm) Dichiarare registri dei vertici di input (vedere Registri - vs_2_0) 0 x
def - vs Definire costanti 0 x
defb - vs Definire una costante booleana 0 x x
defi - vs Definire una costante integer 0 x x
dp3 - vs Prodotto punto a tre componenti 1 x
dp4 - vs Prodotto punto a quattro componenti 1 x
dst - vs Calcolare il vettore di distanza 1 x
else - vs Iniziare un altro - vs block 1 x x
endif - vs Terminare un valore se bool - vs... else - vs block 1 x x
endloop - vs Fine di un ciclo - vs block 2 x x
endrep - vs Fine di un blocco di ripetizione 2 x x
exp - vs Precisione completa 2x 1 x
expp - vs Precisione parziale 2x 1 x
frc - vs Componente frazionaria 1 x
if bool - vs Iniziare un valore bool - vs block (usando una condizione booleana) 3 x x
etichetta - vs Etichetta 0 x x
lit - vs Calcolo parziale dell'illuminazione 3 x
log - vs Log₂ di precisione completa(x) 1 x
logp - vs Log₂ di precisione parziale(x) 1 x
ciclo - vs Ciclo 3 x x
lrp - vs Interpolazione lineare 2 x x
m3x2 - vs Moltiplicare 3x2 2 x
m3x3 - vs Moltiplicare 3x3 3 x
m3x4 - vs Moltiplicare 3x4 4 x
m4x3 - vs Moltiplicare 4x3 3 x
m4x4 - vs Moltiplicare 4x4 4 x
pazzo - vs Moltiplicare e aggiungere 1 x
max - vs Massimo 1 x
min - vs Minima 1 x
mov - vs Spostamento 1 x
mova - vs Spostare i dati da un registro a virgola mobile al registro indirizzi (a0) 1 x x
mul - vs Moltiplicazione 1 x
nop - vs Nessuna operazione 1 x
nrm - vs Normalizzare un vettore 4D 3 x x
pow - vs xy 3 x x
rcp - vs Reciproco 1 x
rep - vs Repeat 3 x x
ret - vs Fine di una subroutine o principale 1 x x
rsq - vs Radice quadrata reciproca 1 x
sge - vs Confronto maggiore o uguale 1 x
sgn - vs Sign 3 x x
sincos - vs Sine e cosine 8 x x
slt - vs Minore di confronto 1 x
sub - vs Sottrazione 1 x
vs Versione 0 x

 

Istruzioni di Vertex Shader