Registres de sortie

  • Registre des couleurs de vertex
  • Registre de brouillard
  • Position_Register
  • Point_Size_Register
  • Texture_Coordinate_Register

Les noms de registre sont précédés d’une lettre minuscule o, indiquant que les registres de sortie sont en écriture seule.

Registre de couleurs de vertex - oD0, oD1

oD0 est le registre de couleurs diffuses. oD1 est le registre de couleurs spéculaires. La valeur oD0 est interpolée et écrite dans le registre de couleurs d’entrée 0 (v0) du nuanceur de pixels. La valeur oD1 est interpolée et écrite dans le registre de couleurs d’entrée 1 (v1) du nuanceur de pixels. Pour plus d’informations sur les registres de couleurs du nuanceur de pixels, consultez Registres.

Versions du nuanceur de vertex 1_1 2_0 2_sw 2_x 3_0 3_sw
Registre des couleurs de vertex x x x x

 

Registre de brouillard - oFog

La valeur de brouillard de sortie est inscrite. La valeur est le facteur de brouillard à interpoler, puis à acheminer vers la table de brouillard. Seul le composant x scalaire du brouillard est utilisé. Les valeurs sont limitées entre zéro et un avant de passer au rastériseur.

Versions du nuanceur de vertex 1_1 2_0 2_sw 2_x 3_0 3_sw
Registre de brouillard x x x x

 

Registre de position - oPos

La position de sortie est inscrite. La valeur est la position dans l’espace de découpage homogène. Cette valeur doit être écrite par le nuanceur de vertex.

Versions du nuanceur de vertex 1_1 2_0 2_sw 2_x 3_0 3_sw
Registre de position x x x x

 

Registre de taille de point - oPts

La taille du point de sortie est inscrite. Seul le composant x scalaire de la taille de point est utilisé.

Versions du nuanceur de vertex 1_1 2_0 2_sw 2_x 3_0 3_sw
Registre de taille de point x x x x

 

Registre des coordonnées de texture - oT0 à oT7

Les coordonnées de texture de sortie enregistrent. Plus précisément, il s’agit d’un tableau de registres de données de sortie qui sont itérés et utilisés comme coordonnées de texture par les étapes d’échantillonnage de texture qui acheminent les données vers le nuanceur de pixels.

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

 

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.

Lorsque la projection de texture est activée pour une étape de texture, les quatre valeurs à virgule flottante doivent être écrites dans le registre de texture correspondant.

L’un des indicateurs de transformation de texture D3DTTFF* doit être égal à zéro lorsque le pipeline programmable est utilisé.

Plage de coordonnées de texture

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ïque, telles que le terrain, ont généralement des coordonnées de texture comprises entre [-?,+?] Où? peut être un grand 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 par la taille de texture (en tenant également compte du mode d’adresse de texture) pour produire un index entier. L’index est ensuite utilisé pour effectuer une recherche de texture. MaxTextureRepeat peut être utilisé pour déterminer le nombre de fois où une texture peut être mosaïque.

Si les coordonnées de texture sont lues directement dans un nuanceur de pixels (à l’aide de texcoord ou de texcrd), la plage de coordonnées de texture dépend de l’instruction et de la version du nuanceur de pixels.

Registres du nuanceur de vertex