Mipmapping
| Ten artykuł od 2010-02 wymaga zweryfikowania podanych informacji. Należy podać (wiarygodne) źródła, najlepiej w formie dokładnych przypisów bibliograficznych. Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte. Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu. |
Mipmapping to technika teksturowania bitmapami wykorzystywana w grafice trójwymiarowej, która pozwala uniknąć artefaktów i tym samym uzyskać lepszą jakość obrazów. Przyspiesza ona również sam proces teksturowania. Mipmapping został opracowany przez Lance Williamsa w 1983 roku.
Mipmapping wykorzystuje serię MIP map (mipmap), tj. tekstur o różnych rozmiarach, które są wynikiem skalowania wyjściowej tekstury. Jeśli wyjściowa tekstura ma rozmiar będący potęgą dwójki , to zostanie wygenerowanych mipmap o rozmiarach , , itd., aż do tekstury o rozmiarach 1x1 pikseli. Np. jeśli , to kolejne mipmapy mają rozmiary: 256x256 (oryginalna tekstura), 128x128, 64x64, 32x32, 16x16, 8x8, 4x4, 2x2 i 1x1.
Skalowanie może być wykonane w prosty sposób poprzez uśrednianie pikseli, albo jedną z bardziej zaawansowanych technik filtrowania. Kolejne mipmapy są wstępnie pozbawione zakłóceń.
Następnie do poteksturowania obiektu trójwymiarowego używa się tej tekstury, której rozdzielczość jest wystarczająca do reprezentowania obiektu obserwowanego z pewnej odległości i to właśnie od odległości zależy, która mipmapa zostanie wybrana. Im obiekt znajduje się dalej od obserwatora, tym mniejszą zajmuje powierzchnię i tym mniejsza tekstura jest potrzebna. Np. jeśli obiekt ma wymiary ok. 10x13 pikseli, to do jego poteksturowania wystarczy tekstura 16x16, jeśli obiekt ma ok. 54x40 to wystarcza tekstura 64x64 itd. W obu przykładach nie ma sensu odwoływać się do tekstury o najwyższej rozdzielczości (powiedzmy 256x256) bo i tak duża część pikseli nigdy nie będzie widoczna.
W przypadku filtrowania dwuliniowego wybierana jest jedna "mipmapa", a w przypadku filtrowania trójliniowego brane są dwie najbliższe i dokonywana jest ich interpolacja.
Zalety mipmappingu:
- wstępne usuwanie zakłóceń skalowanych tekstur, co ma istotne znaczenie w grafice czasu rzeczywistego (gry komputerowe, symulatory lotu).
- zwiększenie prędkości teksturowania, ponieważ przetwarzana jest o wiele mniejsza liczba pikseli tekstury.
Wady:
- zwiększenie wymagań pamięciowych o 1/3.
Mipmapping jest implementowany sprzętowo w kartach grafiki.

