Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette section contient des informations de référence pour les instructions du nuanceur de vertex version 2_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.
- Contrôle de flux - Ces instructions ajoutent des fonctionnalités de contrôle de flux telles que boucle...endloop, si...autre...endif - vs, et appels de sous-routine.
- Nouveautés : ces instructions sont nouvelles pour cette version.
Jeu d’instructions
| Nom | Description | Emplacements d’instructions | Coup monté | 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 vectoriel | 2 | x | x | ||
| dcl_usage entrée (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 | ||
| défi - vs | Définir une constante entière | 0 | x | x | ||
| dp3 - vs | Produit à trois composants | 1 | x | |||
| dp4 - vs | Produit à quatre composants | 1 | x | |||
| dst - vs | Calculer le vecteur de distance | 1 | x | |||
| else - vs | Commencer un autre - vs bloc | 1 | x | x | ||
| endif - vs | Terminer un si bool - vs...else - vs block | 1 | x | x | ||
| endloop - vs | Fin d’une boucle - vs bloc | 2 | x | x | ||
| endrep - vs | Fin d’un bloc de répétition | 2 | x | 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 | x | ||
| étiquette - vs | Étiquette | 0 | x | x | ||
| lit - vs | Calcul d’éclairage partiel | 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 | x | ||
| lrp - vs | Interpolation linéaire | 2 | x | 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 le registre d’adresses (a0) | 1 | x | x | ||
| mul - vs | Multiplier | 1 | x | |||
| nop - vs | Aucune opération | 1 | x | |||
| nrm - vs | Normaliser un vecteur 4D | 3 | x | x | ||
| pow - vs | xy | 3 | x | x | ||
| rcp - vs | Réciproque | 1 | x | |||
| rep - vs | Répéter | 3 | x | x | ||
| ret - vs | Fin d’une sous-routine ou d’un principal | 1 | x | x | ||
| rsq - vs | Racine carrée réciproque | 1 | x | |||
| sge - vs | Supérieur ou égal à la comparaison | 1 | x | |||
| sgn - vs | Signe | 3 | x | x | ||
| sincos - vs | Sinus et cosinus | 8 | x | x | ||
| slt - vs | Inférieur à comparer | 1 | x | |||
| sub - vs | Soustraire | 1 | x | |||
| vs | Version | 0 | x |
Rubriques connexes