Co to jest filtrowanie anizotropowe?

click fraud protection

Filtrowanie anizotropowe to stosunkowo standardowa opcja w grach wideo. Bardzo niewiele gier zadaje sobie trud, aby wyjaśnić, co robi, a te, które to robią, nadal skorzystałyby z wizualnego przykładu, aby ułatwić zrozumienie.

Filtrowanie anizotropowe to technika filtrowania tekstur, która może zauważalnie poprawić jakość tekstur widocznych pod kątem. Jest to zwykle najbardziej widoczne na płaskich teksturach ścian lub podłóg, które rozciągają się na dal. Bez filtrowania tekstur tekstura widziana pod kątem stanie się zauważalnie rozmyta i straci wiele szczegółów, gdy kąt będzie bardziej stromy.

Mipmapy

Podstawowym rozwiązaniem tego rozmycia są mipmapy tekstur. Mipmapping polega na wstępnym obliczeniu serii przeskalowanych wersji tekstur. Na przykład, jeśli oryginalna tekstura ma 256×256 pikseli, wersja mipmapy miałaby wersje 128×128, 64×64, 32×32 pikseli i tak dalej. Ten projekt zwiększa rozmiar dowolnego pliku tekstury o 33%.

Wskazówka: „Mip” w Mipmapie pochodzi od inicjałów frazy „duch in a small space” po łacinie „Multum in parvo”.

Wersje ze skalą w dół w teksturach mipmapowanych są używane, gdy tekstura o zmniejszonej rozdzielczości jest bardziej efektywna w wyświetlaniu niż w pełnej rozdzielczości. Ten problem z tym podejściem pojawia się, ponieważ obraz o zmniejszonej rozdzielczości jest z definicji mniejszy niż oryginał. Aby dowolny wzór wyglądał, jakby pasował do siebie, tekstura musi zostać rozciągnięta tak, aby pasowała do szerokości oryginalnej tekstury. To rozciąganie nagle i zauważalnie zwiększa rozmycie tekstury, a efekt pogarsza się, gdy zamieniane są tekstury o niższej rozdzielczości. Choć ten efekt rozmycia jest oczywisty, nadal jest mniej widoczny i mniej obciąża procesor niż konieczność używania tekstury w pełnej skali i zmniejszania jej w czasie rzeczywistym.

Filtrowanie anizotropowe

Rozwiązaniem tego problemu jest filtrowanie anizotropowe. Zamiast po prostu używać stopniowo mniejszych tekstur, które zmniejszają o połowę szerokość i wysokość poprzedniej tekstury, tworzona jest również tekstura o połowie szerokości i pełnej wysokości. Te tekstury o połówkowej wysokości i pełnej szerokości zapewniają niekoniecznie obniżoną jakość, ale nie muszą być rozciągnięte, ponieważ mają już taką samą szerokość jak oryginalna tekstura, co zapobiega znaczącemu efekt rozmycia.

Wskazówka: słowo „anizotropowy” ma pochodzenie złożone. „An” oznacza nie, „iso” oznacza to samo, a „tropik” pochodzi od tropizmu, czyli związanego z kierunkiem. Ta nazwa pasuje, ponieważ filtrowanie anizotropowe nie filtruje w ten sam sposób we wszystkich kierunkach.

W grach opcja filtrowania anizotropowego jest często przedstawiana z mnożnikiem, zwykle 2x, 4x, 8x i 16x. Stanowią one liczbę dostępnych do użycia redukcji rozmiaru. Zazwyczaj różnica między 8x i 16x jest prawie niemożliwa do dostrzeżenia, z wyjątkiem porównań side-by-side. Wynika to z faktu, że jedyne tekstury, których to dotyczy, są odległe, małe i przez to trudne do zauważenia. Wpływ filtrowania anizotropowego na wydajność jest stosunkowo minimalny.