A MIP-textúrázás ( Eng. MIP mapping ) egy textúrázási módszer , amely ugyanazon textúra több másolatát használja, eltérő részletességgel. A név a lat. multum in parvo - "sokat egy kicsit".
A kép akkor néz ki a legjobban, ha a textúra részletei közel állnak a képernyő felbontásához . Ha a képernyő felbontása nagyobb, mint a textúra felbontása (túl kicsi a textúra/túl közel az objektum), a kép homályos lesz. Ha a textúra felbontása túl nagy (a textúra túl nagy / az objektum túl messze van), véletlenszerű pixeleket kapunk - ami finom részletek elvesztését, moaré -t és villogást jelent. A túlzott részletesség a teljesítmény szempontjából is rossz – túlterheli a videobuszt , és a gyorsítótár kihagyások nagy százalékát okozza . Kiderült, hogy jobb, ha több különböző részlettel rendelkező textúra van, és az adott helyzetben legmegfelelőbbet alkalmazza az objektumra. Egyes esetekben a textúrázási sebesség növekedése több ezerszeresére, a teljes jelenet képernyőn való megjelenítésének sebessége pedig több tucatszor is megnőhet.
Számos modern PC-játék lehetővé teszi a felhasználó számára, hogy manuálisan állítsa be a textúra minőségét a beállításokban, a teljesítmény és a minőség közötti választással. Ha a textúra minősége "alacsony"-ra van állítva, a játék a mipmap-jeit (kis másolatait) fogja használni az eredeti textúrák helyett.
Létrejön egy úgynevezett MIP-piramis - textúrák sorozata, amelynek felbontása maximumtól 1x1-ig terjed. Például: 1x1, 2x2, 4x4, 8x8, 16x16, 32x32, 64x64, 128x128, 256x256, 512x512 és 1024x1024. Ezen textúrák mindegyikét MIP-szintnek ( eng. MIP level ) vagy részletességi szintnek ( eng. level of detail ) nevezik.
Ezeknek a textúráknak ugyanaz a képe. Így a mip-textúra harmadával növeli a videomemória fogyasztását:
.Textúrák alkalmazásakor a rendszer kiszámítja az objektum távolságát, és a textúra számát a következő képlettel találja meg:
,ahol a felbontás a virtuális kamera felbontása (a képpontok száma, amelyek a kamerától 1 egységnyire elhelyezkedő 1 egység méretű objektumban lesznek), a texelsize a texel mérete 3D-s világegységekben, a dist a távolság az objektumhoz azonos egységekben, mip torzítás - egy szám, amely lehetővé teszi, hogy többé-kevésbé részletes textúrát válasszon, mint amit a képlet ad.
Ezt a számot egész számra kerekítjük, és a hozzá tartozó textúrát (nulla a legrészletesebb, az első kétszer kisebb stb.) alkalmazzuk az objektumra.
A videomemória - fogyasztás harmadával nő (viszont cserébe az objektumok képernyőre rajzolásának sebessége nő). A 2010-es évek elején azonban a videomemória tipikus mérete 1-3 GB. Ezenkívül, ha az objektum távol van, a részletes textúrája feltölthető a RAM -ba .
A MIP textúra nem oldja meg az olyan textúrák problémáját, amelyek éles szöget zárnak be a nézővel (például egy út egy autószimulátorban ). Az ilyen textúráknál a felbontás az egyik tengely mentén nagyon eltér a másik tengelyétől - és például az X tengely mentén egyértelműen homályos a kép, míg az Y tengely mentén villódzás látható, ami a túlméretezett textúrákra jellemző. felbontás. Egyszerre többféle módon is megoldható (a legkevesebb minőséggel kezdve):
Egyértelmű határvonal látható a MIP-szintek között. Ezt trilineáris szűréssel oldják meg .
Ha különböző felületű darabok vannak ugyanabban a textúrában, akkor a leginkább „utazó” MIP szint 1 pixelét meghaladó ráhagyásokat és hézagokat kell tenni. Ez a szint nem feltétlenül a legmagasabb (például a Dota 2 - ben egy részletes hőst is látunk a menüben és egy miniatűrt a játékban) - ezért ezeket a hiányosságokat kifejezetten előírták a Dota 2 modellezési kézikönyvében.
A jó minőségű megjelenítők részösszeg táblázatot használhatnak . Ez adja a legjobb képminőséget (négy tábla-elérés esetén bármely téglalap színe átlagolható), de az összegek tárolásához szélesebb típusokra van szükség. Ennek megfelelően a részösszegek táblázata már nem harmad, hanem legalább kétszeres. A részösszeg táblázat nem oldja meg a gyorsítótár kihagyásával kapcsolatos problémákat.