Partager via


Registre des coordonnées de texture (référence VS HLSL)

Ce registre de sortie du nuanceur de vertex contient des coordonnées de texture par vertex.

Un registre se compose de propriétés qui déterminent le comportement de chaque registre.

Propriété Description
Name oT0 - oT7
Count Huit vecteurs
Autorisations d’E/S Écriture seule

 

Les registres de coordonnées de texture de sortie sont un tableau de registres de données de sortie. Les données de registre sont itérées et utilisées comme coordonnées de texture par les étapes d’échantillonnage de texture pour fournir des données au nuanceur de pixels.

Lors de l’écriture dans un registre de coordonnées de texture, il est recommandé de transmettre uniquement autant de valeurs à virgule flottante que la dimension de la carte de texture correspondante. Contrôlez les valeurs passées avec un modificateur. Par exemple, utilisez .xy pour une carte de texture 2D.

Les indicateurs de pipeline de vertex de fonction fixe, D3DTEXTURETRANSFORMFLAGS (D3DTTFF_COUNT1, D3DTTFF_COUNT2, D3DTTFF_COUNT3, D3DTTFF_COUNT4), doivent être définis sur zéro si vous utilisez un nuanceur de vertex programmable.

Les données de vertex d’objet fournissent des coordonnées de texture d’entrée. Les objets qui n’utilisent pas de textures en mosaïques ont généralement des coordonnées de texture dans la plage [0,1]. Les objets qui utilisent des textures en mosaïques, telles que le terrain, ont généralement des coordonnées de texture qui vont de [-n,+n] où n peut être n’importe quel nombre à virgule flottante.

L’interpolation de coordonnées de texture est effectuée sur les données de vertex pour la rastérisation. Pendant la rastérisation, les coordonnées de texture sont interpolées entre les sommets d’objet, modifiées par l’habillage de texture et mises à l’échelle en fonction de la taille de la texture (en tenant également compte des modes d’adressage de texture) pour produire un index entier. L’index est ensuite utilisé pour effectuer une recherche de texture. Utilisez la valeur MaxTextureRepeat dans D3DCAPS9 pour déterminer le nombre de fois où une texture peut être en mosaïque.

Exemple

Déclarez le registre des coordonnées de texture.

dcl_texcoord v7

Copiez les coordonnées de texture par sommet dans le registre de sortie.

mov oT0, v7
Versions du nuanceur de vertex 1_1 2_0 2_sw 2_x 3_0 3_sw
Registre des coordonnées de texture x x x x x x

 

Registres du nuanceur de vertex