Traitement des coordonnées de texture (Direct3D 9)

Le diagramme suivant montre le chemin emprunté par les coordonnées de texture à partir de leur source, jusqu’au traitement et au rastériseur.

diagramme du chemin d’accès pour les coordonnées de texture d’une source vers le rastériseur

Il existe deux sources à partir desquelles le système peut dessiner des coordonnées de texture. Pour une étape de texture donnée, vous pouvez utiliser les coordonnées de texture incluses dans le format de vertex (D3DFVF_TEX1 à D3DFVF_TEX8), ou vous pouvez utiliser des coordonnées de texture générées automatiquement par Direct3D. Pour plus d’informations sur ce dernier cas, consultez Coordonnées de texture générées automatiquement (Direct3D 9). Si l’état de l’étape de texture D3DTSS_TEXTURETRANSFORMFLAGS pour l’étape de texture actuelle est défini sur D3DTTFF_DISABLE (paramètre par défaut), les coordonnées d’entrée ne sont pas transformées. Si D3DTSS_TEXTURETRANSFORMFLAGS> est défini sur une autre valeur, la matrice de transformation de cette étape est appliquée aux coordonnées d’entrée.

Le type énuméré D3DTEXTURETRANSFORMFLAGS définit des valeurs valides pour l’état D3DTSS_TEXTURETRANSFORMFLAGS de l’étape de texture. À l’exception de l’indicateur D3DTTFF_DISABLE, qui contourne la transformation de coordonnées de texture, les valeurs définies dans cette énumération configurent le nombre de coordonnées de sortie que le système transmet au rastériseur. Les D3DTTFF_COUNT1 via D3DTTFF_COUNT4 indicateurs indiquent au système de passer un, deux, trois ou quatre éléments des coordonnées de sortie au rastériseur.

L’indicateur D3DTTFF_PROJECTED est spécial : il indique au système que les coordonnées de texture sont destinées à une texture projetée. Combinez l’indicateur D3DTTFF_PROJECTED avec un autre membre de D3DTEXTURETRANSFORMFLAGS pour indiquer au rastériseur de diviser tous les éléments par le dernier élément avant la rastérisation. Par exemple, lorsque vous utilisez explicitement des coordonnées de texture à trois éléments ou lorsque la transformation entraîne une coordonnée de texture à trois éléments, vous pouvez combiner les indicateurs D3DTTFF_COUNT3 et D3DTTFF_PROJECTED pour que le rastériseur divise les deux premiers éléments par le dernier, ce qui produit des coordonnées de texture 2D nécessaires pour traiter une texture 2D.

Notes

À l’exception des mappages d’environnement cube et des textures de volume, les rastériseurs ne peuvent pas traiter les textures à l’aide de coordonnées de texture avec plus de deux éléments. Si vous spécifiez plus d’éléments que peut être utilisé pour traiter la texture actuelle pour cette étape, les éléments superflus sont ignorés. Cela s’applique également lors de l’utilisation de coordonnées de texture 2D pour une texture 1D.

 

Des informations supplémentaires sont contenues dans les rubriques suivantes.

Coordonnées de texture