MIP mapping

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Ce modèle est-il pertinent ? Cliquez pour en voir d'autres.
Cet article ne cite pas suffisamment ses sources (juin 2016).

Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références » (modifier l'article, comment ajouter mes sources ?).

Le MIP mapping est une technique d'application de textures, les MIP maps, qui permet d'améliorer la qualité de l'affichage.

Le but du MIP mapping est d'éviter la pixellisation lorsqu'on s'éloigne d'une texture.

Principe[modifier | modifier le code]

Le but général est d'adapter le niveau de détail des textures à la distance de l'objet. Ainsi, un objet proche affichera des textures en haute résolution tandis qu'un objet lointain se verra attribuer une texture de résolution faible. Différents niveaux de détails, dit MIP map levels, peuvent être choisis. Le MIP mapping consiste à envoyer au processeur graphique (GPU) des échantillons de texture de résolutions décroissantes qui seront utilisés à la place de la texture originale, en fonction de la distance du point de vue à l'objet texturé et du niveau de détails nécessaire. Le GPU n'a alors plus qu'à adapter les textures aux objets selon leur éloignement, réadaptant la texture chaque fois que l'objet se rapproche. La texture utilisée lors du rendu sera alors celle dont la résolution est la plus proche de celle de l'objet sur l'image projetée.

Par exemple, à partir d'une image d'une taille de 256x256 pixels seront produits les mêmes images aux résolutions de 128x128 pixels, 64x64, 32x32, 16x16, 8x8, 4x4, 2x2 et 1x1. Si la taille de l'objet sur l'image projetée à l'écran est de 30x30 pixels, la texture utilisée sera alors celle de résolution 32x32 pixels.

Le filtrage trilinéaire permet d'éviter de voir les « sauts » lors du passage d'une texture à l'autre, en faisant une transition progressive.

Le MIP mapping seul est bien adapté à une texture perpendiculaire à l'observateur. Mais pour un sol par exemple, un filtrage anisotrope est nécessaire (voir ci-dessous).

MIP vient du latin Multum In Parvo, qui signifie « beaucoup de choses dans un petit endroit ». Le terme a été introduit par Lance Williams en 1983 dans son article Pyramidal Parametrics [1]. Le terme MIP n'a donc aucun rapport avec le maximum intensity projection utilisée en imagerie médicale.

Le MIP mapping nécessite plus de mémoire vidéo (environ 33 % de plus), mais cela permet de réduire les artefacts dus à des filtrages successifs appliqués sur la texture lorsque l'objet est éloigné. La diminution du nombre de texels à traiter et des opérations de filtrages en temps réel de la texture permet également un rendu plus rapide de l'image.[réf. nécessaire]

Image originale RGB
Dans le cas des images couleurs codées en Rouge/Vert/Bleu (RGB en anglais), trois plans couleurs sont nécessaires et la place totale occupée par la texture en MIP map est deux fois la place occupée par l'information de texture de la plus forte définition encodée. La représentation ci-dessus montre aussi comment chaque plan requiert 33% de place en plus.

L'accroissement de la place requise pour tous les échantillons de ces MIP maps est un tiers de celle de la texture d'origine, car la somme des nombres 1/4 + 1/16 + 1/64 + 1/256 + · · · converge vers 1/3.


Filtrage anisotrope[modifier | modifier le code]

Quand une texture est vue suivant un angle rasant, le filtrage ne doit pas être uniforme dans toutes les direction (il doit être anisotrope plutôt qu'isotrope), et un compromis doit être réalisé sur la résolution utilisée. Si une plus haute résolution est utilisée, la cohérence de cache faiblit, et la déformation par pixellisation est accrue dans une direction, mais l'image tend à être de meilleure apparence. Si une résolution plus basse est utilisée, la cohérence de cache est améliorée, mais l'image est exagérément floutée.

Des textures en MIP map non-uniformes (aussi appelées rip-map) peuvent résoudre ce problème, mais elle ne sont pas supportées par les accélérateurs matériels des cartes graphiques modernes (accélération matérielle). Avec une carte de texture de base 8×8, les résolutions de rip-map sont 8×8, 8×4, 8×2, 8×1; 4×8, 4×4, 4×2, 4×1; 2×8, 2×4, 2×2, 2×1; 1×8, 1×4, 1×2 et 1×1. En général, pour une carte de texture de base ×, les résolutions des textures en rip-map sont × pour des valeurs i et j de 0 à n.

Voir aussi[modifier | modifier le code]

Références[modifier | modifier le code]

Articles connexes[modifier | modifier le code]