
Mipmapping to technika stosowana w grafice komputerowej 3D, polegająca na wykorzystaniu zestawu tekstur o różnej rozdzielczości w celu poprawy jakości obrazu oraz zwiększenia wydajności renderowania. Metoda ta została opracowana w latach 80. XX wieku i do dziś stanowi standardowe rozwiązanie, wykorzystywane w silnikach graficznych, grach komputerowych oraz aplikacjach, wykorzystujących trójwymiarową grafikę czasu rzeczywistego. Termin „mip” pochodzi od łacińskiego wyrażenia multum in parvo, które oznacza „wiele w małym”.
Zasada działania i struktura mipmap
W klasycznym systemie renderowania grafiki 3D obiekty pokrywane są teksturami, czyli dwuwymiarowymi obrazami odwzorowującymi szczegóły powierzchni. Gdy obiekt znajduje się daleko od obserwatora, duża tekstura o wysokiej rozdzielczości nie jest w pełni wykorzystywana, ponieważ na ekranie zajmuje niewielką liczbę pikseli. W takiej sytuacji przetwarzanie pełnej tekstury wymaga niepotrzebnych zasobów obliczeniowych oraz może prowadzić do zjawisk takich jak migotanie lub aliasing obrazu.
Mipmapping rozwiązuje ten problem poprzez przygotowanie zestawu pomniejszonych wersji tej samej tekstury. Każdy kolejny poziom mipmapy ma zazwyczaj o połowę mniejszą rozdzielczość od poprzedniego. Na przykład tekstura o rozdzielczości 1024 × 1024 piksele może posiadać kolejne poziomy o wymiarach 512 × 512, 256 × 256, 128 × 128 i mniejsze. Podczas renderowania silnik graficzny automatycznie wybiera odpowiedni poziom mipmapy w zależności od odległości obiektu od kamery oraz wielkości powierzchni wyświetlanej na ekranie.
Zalety optymalizacji poprzez mipmapping
Zastosowanie mipmappingu przynosi kilka istotnych korzyści. Po pierwsze zmniejsza obciążenie procesora graficznego GPU (Graphics Processing Unit), ponieważ przy renderowaniu odległych obiektów wykorzystywane są tekstury o niższej rozdzielczości. Po drugie technika ta poprawia stabilność obrazu, ograniczając migotanie drobnych detali tekstury podczas ruchu kamery lub zmiany perspektywy. Dzięki temu scena 3D może być wyświetlana w sposób bardziej płynny i naturalny.
Mipmapping współpracuje z innymi technikami filtrowania tekstur stosowanymi w grafice komputerowej. Do najczęściej wykorzystywanych należą filtrowanie biliniowe, trójliniowe oraz filtrowanie anizotropowe (anisotropic filtering). Metody te pozwalają na płynne przechodzenie pomiędzy kolejnymi poziomami mipmapy oraz poprawiają jakość odwzorowania tekstur oglądanych pod różnymi kątami.
Technika mipmappingu jest powszechnie stosowana w grach komputerowych, aplikacjach wizualizacyjnych, symulatorach oraz oprogramowaniu wykorzystującym biblioteki graficzne takie jak OpenGL czy DirectX. Parametr ten ma znaczenie przede wszystkim w kontekście wydajności kart graficznych oraz jakości renderowanego obrazu w czasie rzeczywistym.
Mipmapping stanowi jedno z podstawowych rozwiązań optymalizacyjnych stosowanych w grafice 3D. Dzięki zastosowaniu wielu poziomów rozdzielczości tekstur możliwe jest jednoczesne zwiększenie płynności działania aplikacji oraz poprawa stabilności obrazu wyświetlanego na ekranie. Technika ta pozostaje ważnym elementem współczesnych systemów renderowania grafiki wykorzystywanych w elektronice użytkowej i oprogramowaniu multimedialnym.