Dans le domaine de l'infographie tridimensionnelle, le filtrage anisotrope est une technologie qui améliore la qualité de l'image texturée. Il est principalement utilisé pour améliorer la clarté de l'image sous des angles de vision obliques. Cette technologie ne fonctionne pas de la même manière dans toutes les directions, mais plutôt dans la direction dans laquelle la texture est observée, grâce à un filtrage ciblé pour réduire le flou et préserver les détails, notamment sous des angles de vision extrêmes.
Le filtrage anisotrope préserve la « netteté » des textures et évite la perte de détails de l'image en utilisant les techniques de mipmap ordinaires.
Le filtrage isotrope traditionnel réduit la résolution des axes X et Y à chaque niveau. Ainsi, lors du rendu sur un plan incliné par rapport à la caméra, la fréquence de l'axe vertical sera réduite. La réduction entraîne une résolution horizontale insuffisante. Cela permettra d'éviter l'alias dans d'autres directions, mais les textures dans d'autres directions peuvent devenir floues.
En revanche, le filtrage anisotrope permet de filtrer les textures selon différents rapports d'aspect. Par exemple, lorsque la résolution de texture est de 256 px × 256 px, cette technologie de filtrage peut la réduire à 128 px × 128 px, puis la réduire davantage à des résolutions non carrées telles que 256 px × 128 px et 32 px × 128 px. Non seulement cela améliore les détails de la texture aux angles de biseau, mais cela maintient également la clarté dans d'autres directions lorsque l'alias doit être évité.
Dans les applications pratiques, différents degrés de filtrage anisotrope peuvent être ajustés grâce à des paramètres développés. Ce rapport est le rapport d'anisotropie maximum pris en charge par le processus de filtrage. Par exemple, un filtre anisotrope 4:1 produira un effet plus net sur les textures en biseau qu'un filtre 2:1. Cela signifie que dans le cas de textures très asymétriques, le filtrage 4:1 affichera des détails plus élevés que le filtrage 2:1. Cependant, la plupart des scènes ne nécessitent pas une telle précision et ne montreront que des différences spécifiques dans un grand nombre de particules affectées par la distance.
Le matériel graphique moderne impose une limite supérieure à ce niveau de filtrage afin d'éviter des conceptions matérielles trop complexes et une diminution des rendements visuels.
Le véritable filtrage anisotrope est généralement effectué pixel par pixel à la volée. Dans le matériel de rendu, lorsqu'une texture est échantillonnée de manière anisotrope, plusieurs échantillons sont prélevés autour d'elle en fonction de la forme projetée de ce pixel. Certaines des approches logicielles originales utilisaient des tables de zones additionnées, et chaque passe d'échantillonnage pouvait elle-même être une instance de mipmap filtrée, aggravant le processus d'échantillonnage. Par exemple, si 16 échantillons triples linéaires sont requis, 128 échantillons peuvent devoir être prélevés de la texture stockée, car le filtrage mipmap triple linéaire nécessite quatre échantillons comme base pour chaque mipmap. Cette complexité peut ne pas être nécessaire dans certains cas.
Le nombre d'échantillons pour le filtrage anisotrope peut entraîner des besoins en bande passante extrêmement élevés. Chaque échantillon de texture peut dépasser quatre octets, de sorte que chaque pixel anisotrope peut nécessiter jusqu'à 512 octets de données pour être extrait de la mémoire de texture. Cela fait qu'il est courant que les appareils d'affichage vidéo nécessitent une bande passante de 300 à 600 Mo/s et que les opérations de filtrage de texture dans certaines scènes nécessitent des centaines de Go/s. Heureusement, quelque chose permet de réduire cette pénalité de performances : les points d'échantillonnage peuvent partager des échantillons mis en cache, soit entre des points adjacents, soit au sein du même pixel. Même avec 16 échantillons, il est possible que tous les 16 ne soient pas nécessaires car seuls les pixels les plus éloignés et fortement inclinés seront particulièrement critiques.
En combinant ces techniques, le filtrage anisotrope devient aujourd'hui de plus en plus courant dans le matériel graphique et les pilotes vidéo modernes. Les utilisateurs peuvent ajuster le taux de filtrage via les paramètres du pilote, et les développeurs peuvent également implémenter leurs propres besoins de filtrage de texture via des API, permettant ainsi de présenter des détails d'image plus riches. Cependant, avez-vous déjà réfléchi à la manière dont ces technologies pourraient évoluer dans la future présentation d’images ?