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 |