[ Mercredi 9 juin 2004 ] par Lars Weinand
ATI : le filtrage de texture controversé
   
|
 Prix en boutique (hors frais de port)
Les réseaux Amazon.fr 47.22 €


Le mipmapping



Le filtrage de texture dont nous parlons ici est en rapport avec le filtrage de différents niveaux mipmap. Les mipmaps sont la variation d’une seule et même texture disponible sous des tailles différentes. Imaginez que vous soyez dans un long corridor en train de regarder un sol carrelé s'étendant jusqu'à l'horizon. Pour restituer une apparence réaliste les carreaux les plus proches de vous doivent paraître très détaillés. Cela dit, plus on se rapproche de l'horizon plus la texture devient petite ; il y a de moins en moins de pixels disponibles pour représenter la texture. Des détails comme les joints entre les carreaux sont perdus à cause des dimensionnements car le driver de la carte graphique ne sait pas quels sont les détails importants de la texture.

Le mipmapping améliore la qualité de la représentation graphique en juxtaposant les versions de la texture diminuées de moitié au fur et à mesure que la profondeur de champ augmente. Cette graduation ou la transition d'un niveau mipmap au suivant est déterminé par ce que l'on appelle «Texture LOD » (Level Of Detail - niveau de Détail).


Différentes tailles d’une même texture.


Les deux côtés de l'écran montrent une image filtrée de façon bilinéaire. Sur la gauche nous avons rendu visible des différents niveaux mipmap. Sur la droite, on peut voir les bandes de filtrage bilinéaire au moment où un niveau mipmap fusionne avec le suivant.

Il faut cependant bien plus qu'un simple mipmapping pour obtenir un résultat décent, car la perspective de la texture est distordue au fur et à mesure que l’on se rapproche de l'horizon et elle doit être par conséquent être diminuée quand elle s'éloigne du spectateur. Sans aucun filtrage particulier de la texture (échantillonnage par point) on obtient une image très pixellisée. Reprenons l'exemple du corridor. Plus la distance par rapport au spectateur augmente, moins il y a de pixels pour la représentation horizontale, car le corridor part du bas de l’écran vers le centre


Voici une image tirée d’un jeu qui illustre notre exemple du corridor carrelé. On peut voir qu’un échelonnement différent est nécessaire à cause de la perspective.

Le chapitre suivant de cet article montre comment le mipmapping amoindrit la pixellisation provoquée par l’échelonnement. Nous utilisons le test de filtrage de texture de 3DMark 2003 (version Pro) pour le démontrer:


La partie gauche a été obtenue sans mipmapping. On peut trouver que le piqué est meilleur sur cette capture d’écran. Il l’est, mais sans mipmaps toutes les textures tremblotent terriblement ce qui donne un effet épouvantable lors des mouvements. Vous pouvez vérifier la chose par vous même avec tous les jeux basés sur le moteur Q3. Réglez « r_textureMode » sur "GL_LINEAR" pour désactiver le mipmapping avec le filtrage linéaire, et «  GL_NEAREST » pour le mipmapping avec l’échantillonnage par point.

En ce qui concerne les mipmaps, il faut aussi souligner qu’il ne faut pas les considérer comme des textures finies. Les cartes graphiques modernes peuvent générer le niveau mipmap réduit de leur choix à partir de la texture de base.



< IntroductionLe filtrage linéaire >

Les Cartes graphiques déjà testés
 COMPARATEUR DE PRIX 
Trouvez le meilleur prix
OK