Filtrage de textures anisotropes (Direct3D 9)

La distorsion visible dans les texels d’un objet 3D dont la surface est orientée à un angle par rapport au plan de l’écran est appelée anisotropie. Lorsqu’un pixel d’une primitive anisotrope est mappé à des texels, sa forme est déformée. Direct3D mesure l’anisotropie d’un pixel en tant qu’allongement (autrement dit, longueur divisée par largeur) d’un pixel d’écran qui est mappé en espace de texture.

Vous pouvez utiliser le filtrage de textures anisotropes conjointement avec le filtrage de texture linéaire ou le filtrage de texture mipmap pour améliorer les résultats de rendu. Votre application active le filtrage de textures anisotropes en appelant la méthode IDirect3DDevice9::SetSamplerState . Définissez la valeur du premier paramètre sur le numéro d’index entier (0-7) de la texture pour laquelle vous sélectionnez une méthode de filtrage de texture. Passez D3DSAMP_MAGFILTER, D3DSAMP_MINFILTER ou D3DSAMP_MIPFILTER pour le deuxième paramètre afin de définir le filtre d’agrandissement, de réduction ou de mipmapping. Définissez le troisième paramètre sur D3DTEXF_ANISOTROPIC.

Votre application doit également définir le degré d’anisotropie sur une valeur supérieure à 1. Pour ce faire, appelez la méthode IDirect3DDevice9::SetSamplerState . Définissez la valeur du premier paramètre sur le numéro d’index entier (0-7) de la texture pour laquelle vous définissez le degré d’isotropie. Transmettez D3DSAMP_MAXANISOTROPY comme valeur du deuxième paramètre. Le paramètre final doit être le degré d’isotropie.

Vous pouvez désactiver le filtrage isotropique en définissant le degré d’isotropie sur un ; toute valeur supérieure à une l’active. Vérifiez l’indicateur MaxAnisotropy dans la structure D3DCAPS9 pour déterminer la plage de valeurs possible pour le degré d’anisotropie.

Filtrage des textures