Filtrowanie anizotropowe: co jest potrzebne, co wpływa, praktyczne zastosowanie

14.05.2019

Technologie wyświetlania obiektów 3D na ekranie monitorów komputerów osobistych ewoluują wraz z wydaniem nowoczesnych kart graficznych. Uzyskanie doskonałego obrazu w trójwymiarowych aplikacjach, jak najbliżej rzeczywistego wideo, jest głównym zadaniem twórców sprzętu i głównym celem dla koneserów gier komputerowych. Technologia zastosowana w najnowszej generacji kart wideo - filtrowanie anizotropowe w grach - ma na celu w tym pomóc.

Co to jest?

filtrowanie anizotropowe

Każdy gracz komputerowy chce, aby kolorowy obraz wirtualnego świata rozłożył się na ekranie, dzięki czemu, wspinając się na szczyt góry, można obserwować malownicze otoczenie, tak że po naciśnięciu przycisku przyspieszenia na klawiaturze w pełni widać na samym horyzoncie tor wyścigowy, i kompletne środowisko w postaci miejskich krajobrazów. Obiekty wyświetlane na ekranie monitora idealnie leżą bezpośrednio przed użytkownikiem w najbardziej dogodnej skali, w rzeczywistości ogromna większość obiektów trójwymiarowych znajduje się pod kątem do linii wzroku. Co więcej, różna wirtualna odległość tekstur z punktu widzenia również dostosowuje rozmiar obiektu i jego tekstur. Obliczenia wyświetlają trójwymiarowy świat na dwuwymiarowym ekranie i są zaangażowane w różne technologie 3D opracowane w celu poprawy percepcji wzrokowej, wśród których jest między innymi filtrowanie teksturalne (anizotropowe lub trilinearne). Filtrowanie takiego planu należy do najlepszych osiągnięć w tej dziedzinie.

Na palcach

Aby zrozumieć, co daje filtrowanie anizotropowe, musisz zrozumieć podstawowe zasady algorytmów teksturowania. Wszystkie obiekty trójwymiarowego świata składają się z "ramki" (trójwymiarowego modelu objętości obiektu) i powierzchni (tekstury) - dwuwymiarowego obrazu "rozciągniętego" nad ramą. Najmniejszą częścią tekstury jest texel w kolorze, są one jak piksele na ekranie, w zależności od "gęstości" tekstury, tekle mogą mieć różne rozmiary. Od wielokolorowych teksli jest kompletny obraz dowolnego obiektu w trójwymiarowym świecie.

Na ekranie texele są przeciwstawione pikselom, których liczba jest ograniczona dostępną rozdzielczością. Chociaż w wirtualnej strefie widoczności może być praktycznie nieskończona liczba tekseli, piksele wyświetlające obraz użytkownikowi mają stałą liczbę. Tak więc przekształcenie widocznych tekseli w kolorowe piksele jest obsługiwane przez algorytm przetwarzania trójwymiarowych modeli - filtrowania (anizotropowe, dwuliniowe lub trójliniowe). Więcej o wszystkich typach - niższej kolejności, gdy emanują ze sobą. filtrowanie anizotropowe w grach, co to jest

Środkowy kolor

Najprostszy algorytm filtrowania wyświetla kolor próbkowania punktów najbliżej punktu widzenia każdego piksela. Wszystko jest proste: linia wzroku określonego punktu na ekranie wypada na powierzchnię trójwymiarowego obiektu, a tekstura obrazów zwraca kolor najbliżej kropli teksel, filtrując wszystkie pozostałe. Idealny do monochromatycznych powierzchni kolorowych. Przy niewielkich różnicach w kolorze daje również obraz dość wysokiej jakości, ale raczej matowy, skąd widziałeś trójwymiarowe obiekty tego samego koloru? Tylko shadery oświetlenia, cieni, odbić i inne są gotowe do pomalowania dowolnego obiektu w grach jako drzewka noworocznego, co można powiedzieć o samych fakturach, które niekiedy stanowią dzieła sztuki. Nawet szara, bezduszna betonowa ściana we współczesnych grach to nie tylko prostokąt o nieokreślonym kolorze, jest usiany szorstkimi krawędziami, czasami pęknięciami i zadrapaniami oraz innymi elementami artystycznymi, które zbliżają wirtualną ścianę do rzeczywistych lub wymyślnych ścian deweloperów jak najbliżej. Ogólnie rzecz biorąc, bliski kolor może być użyty w pierwszych trójwymiarowych grach, ale teraz gracze stają się znacznie bardziej wymagający w grafice. Co ważne: filtrowanie bliskiego koloru nie wymaga prawie żadnych obliczeń, to znaczy jest bardzo ekonomiczne pod względem zasobów komputera.

Filtrowanie liniowe

Różnice w algorytmie liniowym nie są bardzo znaczące, zamiast najbliższego punktu tekseli filtrowanie liniowe wykorzystuje 4 naraz i oblicza średni kolor między nimi. Jedynym problemem jest to, że na powierzchniach pod kątem do ekranu linia wzroku tworzy elipsę na fakturze, podczas gdy filtrowanie liniowe używa idealnego koła, aby wybrać najbliższe tekle, niezależnie od kąta patrzenia. Użycie czterech tekseli zamiast jednego pozwala znacznie poprawić rysunek tekstur odległych od punktu widzenia, ale wciąż nie wystarcza do poprawnego odzwierciedlenia obrazu.

Mapowanie mipem

Ta technologia pozwala nieznacznie zoptymalizować rysunek grafiki komputerowej. Dla każdej tekstury tworzona jest pewna liczba kopii o różnym stopniu szczegółowości, dla każdego poziomu szczegółowości wybrany jest obraz, na przykład dla długiego korytarza lub ogromnej hali, w pobliżu podłóg i ścian wymagana jest jak największa szczegółowość, podczas gdy odległe rogi obejmują tylko kilka pikseli i nie wymagają znaczący szczegół. Ta trójwymiarowa funkcja graficzna pomaga uniknąć rozmycia odległych tekstur, a także zniekształceń i utraty obrazu, i współpracuje z filtrowaniem, ponieważ karta wideo nie może samodzielnie zdecydować, które teksele są ważne do wykonania zdjęcia, a które nie są zbyt dobre do obliczania filtrowania. anizotropowe filtrowanie tekstur

Filtrowanie bilinearne

Wykorzystując filtrowanie liniowe i teksturowanie MIP, otrzymujemy dwuliniowy algorytm, który pozwala nam lepiej wyświetlać odległe obiekty i powierzchnie. Jednak wszystkie te same 4 texele nie zapewniają technologii wystarczającej elastyczności, poza tym filtrowanie dwuliniowe nie maskuje przejść do następnego poziomu skalowania, pracując z każdą częścią tekstury osobno, a ich granice są widoczne. Tak więc, z dużej odległości lub pod dużym kątem, tekstury są mocno rozmyte, co sprawia, że ​​obraz jest nienaturalny, jak gdyby dla ludzi z krótkowzrocznością, a także dla tekstur o złożonych wzorach, zauważalne są linie łączące teksturę o różnych rozdzielczościach. Ale jesteśmy za ekranem monitora, nie potrzebujemy krótkowzroczności i różnych niezrozumiałych linii!

Filtrowanie trójliniowe

Ta technologia ma na celu poprawienie rysunku na liniach zmiany tekstury w skali. Podczas gdy dwuliniowy algorytm działa oddzielnie dla każdego poziomu mapowania mip, filtrowanie trójliniowe dodatkowo oblicza granice poziomów szczegółowości. W związku z tym wzrasta zapotrzebowanie na pamięć RAM, a poprawa obrazu na odległych obiektach nie jest bardzo zauważalna. Oczywiście granice pomiędzy zbliżonymi poziomami skalowania są lepiej przetwarzane niż z bilinearnymi i wyglądają bardziej harmonijnie, bez nagłych przejść, co wpływa na ogólne wrażenie. obejmują filtrowanie anizotropowe lub nie

Filtrowanie anizotropowe

Jeśli obliczyliśmy rzut linii widzenia każdego piksela ekranu na teksturę zgodnie z kątem widzenia, otrzymamy błędne kształty - trapez. Wraz z użyciem większej ilości tekseli do obliczenia ostatecznego koloru, może to dać znacznie lepszy wynik. Co robi filtrowanie anizotropowe? Biorąc pod uwagę, że teoretycznie nie ma ograniczeń co do liczby zużytych tekseli, taki algorytm może wyświetlać grafikę komputerową o nieograniczonej jakości w dowolnej odległości od punktu widzenia i pod dowolnym kątem idealnie porównywalnym z rzeczywistym wideo. Filtrowanie anizotropii w jej możliwościach zależy wyłącznie od technicznych cech kart graficznych komputerów osobistych, na których projektowane są nowoczesne gry wideo. konfiguracja filtrowania anizotropowego

Odpowiednie karty wideo

Tryb filtrowania anizotropowego był możliwy na niestandardowych kartach wideo od 1999 roku, począwszy od dobrze znanych kart Riva TNT i Voodoo. Najlepsze konfiguracje tych kart radziły sobie dobrze z błędną kalkulacją trójliniowej grafiki, a nawet dawały tolerowane wskaźniki FPS przy użyciu anizotropowego filtrowania x2. Ostatnia cyfra wskazuje na jakość filtrowania, która z kolei zależy od liczby tekseli użytych do obliczenia ostatecznego koloru piksela na ekranie, w tym przypadku są one używane aż do 8. Dodatkowo w obliczeniach wykorzystywany jest obszar przechwytywania tych tekseli odpowiadający kątowi widzenia. zamiast koła, jak w algorytmach liniowych wcześniej. Nowoczesne karty graficzne są w stanie przetwarzać filtrowanie za pomocą anizotropowego algorytmu na poziomie x16, co oznacza użycie 128 tekseli do obliczenia ostatecznego koloru pikseli. To obiecuje znaczącą poprawę w wyświetlaniu tekstur, które są dalekie od punktu widzenia, jak również poważne obciążenie, ale najnowsze karty graficzne są wyposażone w wystarczającą ilość pamięci RAM i procesorów wielordzeniowych, aby poradzić sobie z tym zadaniem.

Wpływ na FPS

Zalety są jasne, ale ile filtrowanie anizotropowe będzie kosztować graczy? Wpływ na wydajność kart wideo do gier z poważnym wypełnieniem, wydany nie później niż w roku 2010, jest bardzo mały, co potwierdzają testy niezależnych ekspertów w wielu popularnych grach. Filtrowanie tekstur anizotropowych jako x16 na kartach budżetu pokazuje spadek ogólnego FPS o 5-10%, a następnie ze względu na mniej wydajne komponenty karty graficznej. Taka lojalność współczesnego żelaza w obliczeniach wymagających dużej ilości zasobów mówi o nieustannej trosce producentów o nas, skromnych graczy. Jest całkiem możliwe, że przejście do następnego poziomu jakości anizotropii nie jest daleko, jeśli tylko igrodyle nas nie zawiodą. co daje filtrowanie anizotropowe

Oczywiście, nie tylko filtrowanie anizotropowe przyczynia się do poprawy jakości obrazu. Niezależnie od tego, czy go włączyć, czy nie, to zależy od gracza, ale zadowoleni posiadacze najnowszych modeli Nvidii lub AMD (ATI) nie powinni nawet myśleć o tym problemie - ustawienie filtrowania anizotropowego na maksymalny poziom nie wpłynie na wydajność i doda realizmu krajobrazom i rozległym lokalizacjom. Sytuacja z właścicielami zintegrowanych rozwiązań graficznych Intela jest nieco bardziej skomplikowana, ponieważ w tym przypadku wiele zależy od jakości pamięci RAM komputera, jego częstotliwości i objętości zegara.

Opcje i optymalizacja

Sterowanie rodzajem i jakością filtrowania jest możliwe dzięki specjalnemu oprogramowaniu, które reguluje sterowniki kart graficznych. Zaawansowane ustawienia filtrowania anizotropowego są również dostępne w menu gry. Wdrożenie wysokiej rozdzielczości i wykorzystanie wielu monitorów w grach zmusiło producentów do myślenia o przyspieszeniu pracy swoich produktów, w tym poprzez optymalizację algorytmów anizotropowych. Twórcy kart w najnowszych sterownikach wprowadzili nową technologię o nazwie adaptacyjne filtrowanie anizotropowe. Co to znaczy? Ta funkcja, wprowadzona przez AMD i częściowo wdrożona w najnowszych produktach Nvidii, umożliwia zmniejszenie szybkości filtrowania tam, gdzie to możliwe. Zatem anizotropowe filtrowanie przez współczynnik x2 może przetwarzać bliskie tekstury, podczas gdy odległe obiekty będą renderowane przy użyciu bardziej złożonych algorytmów do maksymalnego współczynnika x16. Jak zwykle, optymalizacja daje znaczną poprawę ze względu na jakość, w niektórych miejscach technologia adaptacyjna jest podatna na błędy, zauważalna w ultra ustawień niektórych z ostatnich trójwymiarowych gier wideo. wpływ na wydajność filtrowania anizotropowego

Na co wpływa filtrowanie anizotropowe? Wykorzystanie mocy obliczeniowej kart wideo w porównaniu z innymi technologiami filtrowania jest znacznie większe, co wpływa na wydajność. Jednak problem szybkości podczas korzystania z tego algorytmu był od dawna rozwiązywany w nowoczesnych układach graficznych. Wraz z innymi technologiami trójwymiarowymi filtrowanie anizotropowe w grach (które już reprezentujemy) wpływa na ogólne wrażenie integralności obrazu, zwłaszcza podczas wyświetlania odległych obiektów i tekstur ustawionych pod kątem do ekranu. Jest to oczywiście najważniejsza rzecz wymagana przez graczy.

Patrząc w przyszłość

Nowoczesny sprzęt o przeciętnej charakterystyce i wyższej jest w pełni zdolny do sprostania wymaganiom graczy, więc słowo o jakości trójwymiarowych światów komputerowych znajduje się teraz za twórcami gier wideo. Najnowsza generacja kart graficznych obsługuje nie tylko wysokiej rozdzielczości i takie technologie przetwarzania danych, jak anizotropowe filtrowanie tekstur, ale także technologię VR lub obsługę wielu monitorów.