Filtrowanie trójliniowe
listopad 27th, 2008Filtrowanie trójliniowe to sposób wykonywania poprawy jakości tekstur w trójwymiarowej grafice komputerowej, polegająca na zamazywaniu granic między mipmapami, przez interpolację pośrodku kolejnymi poziomami mipmapy. Jest to tak bardzo w istocie rozciągniecie filtrowania dwuliniowego.
Technika powyższa nie stanowi idealnego rozwiązania na rzecz rysowania tekstur poniżej dużymi kątami, jest natomiast często stosowana ze względu na swoją wydajność.
Opis
Różnica między filtrowaniem biliniowym (po lewej), a trójliniowym (po prawej). Strzałkami oznaczono miejsca widocznych pokonać pośrodku poziomami szczegółowości mipmap.
W filtrowaniu biliniowym wartości tekstury były obliczane na podstawie interpolacji biliniowej między najbliższymi czterema punktami w teksturze - tekslami. Podziękowanie tej operacji jest dozwolone było zdobyć uśrednione wartości tekstury pośrodku jej dyskretnymi punktami. Sprawność ta dawała dobre rezultaty na rzecz tekstur wyświetlanych w dużym powiększeniu.
Dla tekstur, które znajdowały się w pewnej odległości od obserwatora, pojawia się szkopuł aliasingu - tekstury znajdujące się w targ dużej odległości są rynek szczegółowe, przez co próba wyświetlenia ich w przestrzeni ekranu daje niepożądane efekty. By odwrócić powyższemu stosuje się różne horyzontalny szczegółowości tekstury w układy od odległości - tzw. mipmapy. Na podstawie zadanej tekstury tworzy się ciąg tekstur o mniejszych rozdzielczościach z użyciem filtrów dolnoprzepustowych (atut każdego teksla jest średnią ważoną z odpowiednich teksli z wyższego poziomu szczegółowości).
W grafice komputerowej teksturowane obiekty często umiejscowione są w ów tryb, iż ich część znajduje się plus minus obserwatora, zaś część w oddali. Przykładem mogą być w tym miejscu teksturowane powierzchnie reprezentujące np. ziemię w symulatorach lotu. W powyższych przypadkach wymaga się iżby tekstura była słusznie wyświetlana zarówno na rzecz jej fragmentów znajdujących się bliżej obserwatora, jakim sposobem i na rzecz tych w wyższym stopniu oddalonych - tak aby połączone były ze sobą cechy filtrowania dwuliniowego z mipmapami (różnymi poziomami szczegółowości). By anulować wyżej wymieniony powikłanie w grafice komputerowej stosuje się cedzenie trójliniowe.
Filtrowanie trójliniowe polega na interpolacji pośrodku najbliższymi tekslami dodatkowo na dwóch poziomach szczegółowości (jednakowo w jaki sposób pod ręką filtrowaniu dwuliniowym), a później interpolacji liniowej pośrodku dwoma uzyskanymi wartościami (z dwóch poziomów szczegółowości), w układy od odległości od obserwatora.
Z użyciem powyższych technik, wyświetlanie kolejnych poziomów szczegółowości następuje płynnie, bez widocznych odbyć pośrodku poszczególnymi mipmapami.
W dzisiejszych kartach graficznych 3D cedzenie trójliniowe jest wspomagane sprzętowo i jest w szerokim zakresie stosowane zwłaszcza w grach komputerowych. Wskazane jest odnotować, że powyższa strategia nie jest doskonała i blisko dużych kątach efekty filtrowania wydają się być sztuczne na rzecz ludzkiego oka - mnogość lepszą techniką jest obciąganie anizotropowe.
Zobacz też
- Filtrowanie dwuliniowe
- Filtrowanie anizotropowe
Bibliografia
- Foley J.D., Van Dam A., Feiner S.K., Hughes J.F., Phillips R.L.: Introduction to Computer Graphics, Addison-Wesley Longman Publishing Co. Inc., 1994.
- http://developer.nvidia.com