Registre d’entrée
Registre d’entrée du nuanceur de vertex.
Les données de chaque sommet (à l’aide d’un ou plusieurs flux de vertex d’entrée) sont chargées dans les registres d’entrée de vertex avant l’exécution du nuanceur de vertex. Les registres d’entrée se composent de 16 vecteurs à virgule flottante à quatre composants, désignés comme v0 à v15. Ces registres sont en lecture seule. Un registre d’entrée est lié aux données de vertex par le biais d’une déclaration de vertex.
Les propriétés de registre suivantes contrôlent le comportement de chaque registre :
Propriété | Description |
---|---|
Nom | v[n] : n est un numéro de registre facultatif. 0 est la valeur par défaut utilisée, si elle est omise. |
Count | Un maximum de 16 registres, v0 - v15. |
Autorisations d’E/S | Lecture seule. Ce registre ne peut pas être écrit par l’API ou dans le nuanceur. |
Ports de lecture | 1. Il s’agit du nombre de fois où un registre peut être lu dans une seule instruction. Voir ci-dessous. |
Toute instruction unique ne peut accéder qu’à un seul registre d’entrée de vertex. Toutefois, chaque source de l’instruction peut swizzle indépendamment et nier ce vecteur au fur et à mesure qu’il est lu.
Exemple
Voici un exemple d’utilisation d’une déclaration de vertex pour lier des données de position de vertex 2D à l’inscription v0.
La déclaration de vertex appartient à l’application :
D3DVERTEXELEMENT9 decl[] =
{
{ 0, 0, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 },
D3DDECL_END()
};
Voici la déclaration de nuanceur de vertex correspondante :
dcl_position v0
Versions du nuanceur de vertex | 1_1 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|
Registre de position | x | x | x | x | x | x |
Rubriques connexes