Cet articlene cite pas suffisamment ses sources().
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 lesréférences utiles à savérifiabilité et en les liant à la section « Notes et références ».
En pratique :Quelles sources sont attendues ?Comment ajouter mes sources ?LeMIP mapping est une technique d'application detextures, lesMIP maps (MultumInParvo, « beaucoup de choses dans un petit endroit »), 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.
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, ditMIP 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 256×256pixels seront produits les mêmes images aux résolutions de 128×128 pixels, 64×64, 32×32, 16×16, 8×8, 4×4, 2×2 et 1×1. Si la taille de l'objet sur l'image projetée à l'écran est de 30×30 pixels, la texture utilisée sera alors celle de résolution 32×32 pixels.
Lefiltrage 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, unfiltrage anisotrope est nécessaire (voir ci-dessous).
MIP vient du latinMultum In Parvo, qui signifie « beaucoup de choses dans un petit endroit ». Le terme a été introduit parLance Williams en1983 dans son articlePyramidal Parametrics[1]. Le termeMIP n'a donc aucun rapport avec lemaximum intensity projection utilisée en imagerie médicale.
LeMIP mappingnécessite plus de mémoire vidéo (environ 33 % de plus), mais cela permet de réduire lesartefacts dus à des filtrages successifs appliqués sur la texture lorsque l'objet est éloigné. La diminution du nombre detexels à 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]
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.
Quand une texture est vue suivant un angle rasant, le filtrage ne doit pas être uniforme dans toutes les directions (il doit êtreanisotrope 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, lacohé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, lacohé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 elles 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.