Mipmapping w grafice 3D
Mipmapping to technika teksturowania bitmapami, która poprawia jakość obrazów w grafice trójwymiarowej oraz przyspiesza proces teksturowania. Została opracowana przez Lance’a Williamsa w 1983 roku i od początku XXI wieku jest implementowana sprzętowo w kartach graficznych.
Opis metody
Mipmapping opiera się na wykorzystaniu serii mip map, czyli tekstur o różnych rozmiarach, uzyskanych poprzez skalowanie tekstury podstawowej. Dla tekstury o rozmiarach będących potęgą dwójki, generowane są mip mapy o coraz mniejszych wymiarach, aż do 1×1 piksel. Przykładowo, dla oryginalnej tekstury 256×256 pikseli powstają mip mapy o rozmiarach:
- 256×256
- 128×128
- 64×64
- 32×32
- 16×16
- 8×8
- 4×4
- 2×2
- 1×1
Skalowanie może być przeprowadzone na różne sposoby, w tym poprzez uśrednianie pikseli lub bardziej zaawansowane techniki filtrowania. Wybór odpowiedniej mip mapy zależy od odległości obiektu od obserwatora – im dalej obiekt się znajduje, tym mniejsza tekstura jest potrzebna. Na przykład, obiekt o wymiarach 10×13 pikseli można teksturować teksturą 16×16.
W przypadku filtrowania dwuliniowego wybierana jest jedna mip mapa, natomiast w filtrowaniu trójliniowym wykorzystuje się dwie najbliższe mip mapy i dokonuje ich interpolacji.
Zalety mipmappingu
- Wstępne usuwanie zakłóceń w skalowanych teksturach, co jest kluczowe w grafice czasu rzeczywistego, np. w grach komputerowych.
- Przyspieszenie procesu teksturowania poprzez przetwarzanie mniejszej liczby pikseli.
Wady
- Zwiększone wymagania pamięciowe o ⅓ w porównaniu do tradycyjnych metod teksturowania.