Instructions-vs _ 2 _ 0

Cette section contient des informations de référence pour les instructions du nuanceur vertex version 2 _ 0.

Il existe plusieurs types d’instructions de nuanceur de sommets, comme indiqué dans le tableau. Les colonnes à droite indiquent les éléments suivants :

  • 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 doit être la première instruction.
  • Arithmétique : ces instructions fournissent les opérations mathématiques dans un nuanceur.
  • contrôle de Flow : ces instructions ajoutent des fonctionnalités de contrôle de Flow, telles que loop... ENDLOOP, If... sinon... endif-vset les appels de sous-routine.
  • Nouveauté : ces instructions sont nouvelles dans cette version.

Jeu d'instructions

Nom Description Emplacements des instructions Installation Arithmétique Contrôle de flux Nouveau
ABS-vs Valeur absolue 1 x x
Ajouter-vs Ajouter deux vecteurs 1 x
appel-vs Appeler une sous-routine 2 x x
callnz bool-vs Appeler une sous-routine si un registre booléen n’est pas égal à zéro 3 x x
CRS-vs Produit croisé 2 x x
_entrée d’utilisation DCL (SM1, SM2, SM3-vs ASM) Déclarer des registres de vertex d’entrée (voir registres-vs _ 2 _ 0) 0 x
def-vs Définir des constantes 0 x
defb-vs Définir une constante booléenne 0 x x
signatures-vs Définir une constante entière 0 x x
DP3-vs Produit scalaire à trois composants 1 x
DP4-vs Produit scalaire à quatre composants 1 x
DST-vs Calculer le vecteur de distance 1 x
else-vs Commencer un bloc else-vs 1 x x
endif-vs Terminer une si bool-vs... else-bloc vs 1 x x
ENDLOOP-vs Fin d’un bloc de boucle-vs 2 x x
endrep-vs Fin d’un bloc REPEAT 2 x x
exp-vs Précision totale 2x 1 x
exp-vs Précision partielle 2x 1 x
FRC-vs Composant fractionnaire 1 x
Si bool-vs Commencer un bloc If bool-vs (à l’aide d’une condition booléenne) 3 x x
étiquette-vs Étiquette 0 x x
lit-vs Calcul de l’éclairage partiel 3 x
journalisation-vs ₂ du journal de précision complète (x) 1 x
logP-vs ₂ de journal de précision partielle (x) 1 x
boucle-vs Loop 3 x x
LRP-vs Interpolation linéaire 2 x x
M3X2-vs matrice multiplier 2 x
M3x3-vs 3 x 3 3 x
M3x4-vs 3x4 multiplier 4 x
m4x3-vs 4x3 multiplier 3 x
M4X4-vs 4 x 4 4 x
Mad-vs Multiplier et ajouter 1 x
Max-vs Maximum 1 x
min-vs Minimum 1 x
MOV-vs Déplacer 1 x
Mova-vs Déplacer des données à partir d’un registre à virgule flottante vers le registre d’adresses (a0) 1 x x
Mul-vs Multiplier 1 x
NOP-vs Pas d'opération 1 x
NRM-vs Normaliser un vecteur 4D 3 x x
Pow-vs xy 3 x x
RCP-vs Mutuel 1 x
REP-vs Répéter 3 x x
RET-vs Fin d’une sous-routine ou principale 1 x x
rsq-vs Racine carrée réciproque 1 x
SGE-vs Comparaison supérieur ou égal à 1 x
SGN-vs Signer 3 x x
SinCos,-vs Sinus et cosinus 8 x x
des SLT-vs Inférieur à compare 1 x
sous-vs Soustraire 1 x
comparatif Version 0 x

Instructions du nuanceur de sommets