Wenn die Pixel auf den Schirm gezeichnet werden, ermittelt DirectX automatisch, welche Textur gerade am besten zur Darstellungsgröße des Dreiecks paßt und holt seine Farbinformation aus dem entsprechenden Mip-Map-Level. Vorteil: I.d.r. bessere Darstellung, da weniger Aliasing-Flickern durch übermäßige Skalierung auftritt und wohl etwas bessere Performance, da bedarfsweise kleinere Texturen zum Einsatz kommen.
Bei Gelegenheit werde ich das Thema noch etwas erweitern, im Moment sei aber erstmal auf ein "Abfallprodukt" des Mipmappings verwiesen, angeregt durch das hier:
http://zusiforum.eisenbahn-seiten.de/vi ... php?t=6730
Man sieht einem Objekt auf dem Bildschirm nicht ohne weiteres an, welche Mipmap-Stufe für welche Pixel verwendet wird. Durch eine speziell präparierte Textur läßt sich das ändern. Diese Beispieltextur wurde aus unterschiedlich gefärbten Mipmapleveln von Hand zusammengesetzt (das TextureTool aus dem DirectX-SDK ermöglicht das).
Durch die Verwendung markanter Farben sieht man so auf den ersten Blick, welche mipmap-Stufe zum Einsatz kommt. Hier zunächst ein Screenshot der Miniaturvorschau im Explorer, um die Farben den Auflösungen zuordnen zu können (die 8x8 ist weiß).
![Bild](http://www.zusi.de/zusi3/mipmapuebers.png)
Wenn man den E-Wagen vom Andi "Funki" dann mal im Mesh-Viewer lädt und in durchaus respektabler Größe auf den Schirm bringt (immerhin 600x600 Pixel und damit größer als praktisch alle Führerstands-Fenster), sieht man, daß bereits erhebliche Teile der Wand schon nur noch mit der 128er Textur belegt werden. Nur für die grünen Bereiche wird wirklich die 512er Auflösung benutzt.
![Bild](http://www.zusi.de/zusi3/mipmapwagen.png)
Mit dieser Methode kann man recht elegent nach Ressourcenfraß suchen. Wenn also recht nahe Flächen bereits mit niedrigen MipMap-Stufen gezeichnet werden, dann ist hier eine unnötig hohe Texturauflösung am Werke.
Hier die Test-Textur:
http://www.zusi.de/zusi3/512_dx1.zip
Carsten