Instructions - vs_3_0
Cette section contient des informations de référence pour les instructions du nuanceur de vertex version 3_0.
Il existe plusieurs types d’instructions de nuanceur de vertex, comme indiqué dans le tableau. Les colonnes vers la droite signifient ce qui suit :
- Emplacements d’instruction : nombre d’emplacements d’instruction utilisés par chaque instruction.
- Configuration - Instructions non arithmétiques. Chaque nuanceur doit avoir une instruction de version et il doit s’agir de la première instruction.
- Arithmétique : ces instructions fournissent les opérations mathématiques dans un nuanceur.
- Texture : ces instructions prennent en charge la recherche d’adresses de texture.
- Contrôle de flux : ces instructions ajoutent un contrôle de flux tel que des boucles, des répétitions et des si bool - vs...autre...comparaisons endif.
- Nouveautés : ces instructions sont nouvelles pour cette version.
Jeu d’instructions
Nom | Description | Emplacements d’instructions | Coup monté | Arithmétique | Texture | Contrôle de flux | Nouveau |
---|---|---|---|---|---|---|---|
abs - vs | Valeur absolue | 1 | x | ||||
ajouter - vs | Ajouter deux vecteurs | 1 | x | ||||
break - vs | Sortir d’une boucle - vs...endloop - vs ou rep...endrep block | 1 | x | ||||
break_comp - vs | Fractionnement conditionnel d’une boucle - vs...endloop - vs ou rep...endrep bloc, avec une comparaison | 3 | x | ||||
breakp - vs | Sortir d’une boucle - vs...endloop - vs ou rep...endrep bloc, basé sur un prédicat | 3 | x | ||||
appel - vs | Appeler une sous-routine | 2 | x | ||||
callnz bool - vs | Appeler une sous-routine si un registre booléen n’est pas égal à zéro | 3 | x | ||||
callnz pred - vs | Appeler une sous-routine si un registre de prédicats n’est pas égal à zéro | 3 | x | ||||
crs - vs | Produit vectoriel | 2 | x | ||||
dcl_usage entrée (sm1, sm2, sm3 - vs asm) | Déclarer des registres de vertex d’entrée (voir Registres - vs_3_0) | 0 | x | ||||
dcl_samplerType (sm3 - vs asm) | Déclarer la dimension de texture d’un échantillonneur | 0 | x | x | |||
def - vs | Définir des constantes | 0 | x | ||||
defb - vs | Déclarer une constante booléenne | 0 | x | ||||
défi - vs | Déclarer une constante entière | 0 | x | ||||
dp3 - vs | Produit à trois composants | 1 | x | ||||
dp4 - vs | Produit à quatre composants | 1 | x | ||||
dst - vs | Distance | 1 | x | ||||
else - vs | Commencer un bloc autre | 1 | x | ||||
endif - vs | Mettre fin à un si bool - vs...autre bloc | 1 | x | ||||
endloop - vs | Fin d’une boucle - vs bloc | 2 | x | ||||
endrep - vs | Fin d’un bloc de répétition | 2 | x | ||||
exp - vs | Précision complète 2x | 1 | x | ||||
expp - vs | Précision partielle 2x | 1 | x | ||||
frc - vs | Composant fractionnaire | 1 | x | ||||
si bool - vs | Commencer un si bool - vs bloc (à l’aide d’une condition booléenne) | 3 | x | ||||
if_comp - vs | Commencer un si bool - vs bloc, avec une comparaison | 3 | x | ||||
si précédé - vs | Commencer un si bool - vs bloc avec une condition de prédicat | 3 | x | ||||
étiquette - vs | Étiquette | 0 | x | ||||
lit - vs | Calculer l’éclairage | 3 | x | ||||
journal - vs | Journal de précision complète(x) | 1 | x | ||||
logp - vs | Journal de précision partielle (x) | 1 | x | ||||
boucle - vs | Boucle | 3 | x | ||||
lrp - vs | Interpolation linéaire | 2 | x | ||||
m3x2 - vs | Multiplication 3x2 | 2 | x | ||||
m3x3 - vs | Multiplication 3x3 | 3 | x | ||||
m3x4 - vs | Multiplication 3x4 | 4 | x | ||||
m4x3 - vs | Multiplication 4x3 | 3 | x | ||||
m4x4 - vs | Multiplication 4x4 | 4 | x | ||||
fou - vs | Multiplier et ajouter | 1 | x | ||||
max - vs | Maximum | 1 | x | ||||
min - vs | Minimum | 1 | x | ||||
mov - vs | Bouger | 1 | x | ||||
mova - vs | Déplacer des données d’un registre à virgule flottante vers un registre entier | 1 | x | ||||
mul - vs | Multiplier | 1 | x | ||||
nop - vs | Aucune opération | 1 | x | ||||
nrm - vs | Normaliser | 3 | x | ||||
pow - vs | xy | 3 | x | ||||
rcp - vs | Réciproque | 1 | x | ||||
rep - vs | Répéter | 3 | x | ||||
ret - vs | Fin d’une sous-routine | 1 | x | ||||
rsq - vs | Racine carrée réciproque | 1 | x | ||||
setp_comp - vs | Définir le registre de prédicats | 1 | x | ||||
sge - vs | Supérieur ou égal à la comparaison | 1 | x | ||||
sgn - vs | Signe | 3 | x | ||||
sincos - vs | Sinus et cosinus | 8 | x | ||||
slt - vs | Inférieur à comparer | 1 | x | ||||
sub - vs | Soustraire | 1 | x | ||||
texldl - vs | Charge de texture avec niveau de détail réglable par l’utilisateur | Voir la note 1 | x | x | |||
vs | Version | 0 | x |
Notes:
- si la texture est une carte de cube, emplacements = 5 ; sinon, emplacements = 2
Rubriques connexes