Jaki efekt graficzny występuje w przypadku niezamapowanych odległych tekstur?


18

Wszyscy wiemy o mapowaniu mip . Zmniejsza jakość tekstury, gdy tekstura jest dalej.

Bez mip-mapowania tekstura wydaje się „migotać”, podobnie jak szczyt góry tutaj:

wprowadź opis zdjęcia tutaj

Czy jest na to jakaś konkretna nazwa?

Chcę napisać zdanie w stylu „Zastosowałem mapowanie mip w celu rozwiązania efektu ___” lub „To jest znane jako ___ i występuje, gdy mapowanie mip nie jest używane”.


2
Dodanie zrzutu ekranu tego, o czym mówisz, znacznie poprawiłoby to pytanie :)
Vaillancourt

@AlexandreVaillancourt Dzięki za sugestię - Dodano. :)
joehot200,

Odpowiedzi:


20

To, czego szukasz, to aliasing. To niewiele różni się od aliasingu twardych krawędzi 3D narysowanych na ekranie. Oba pochodzą ze zbyt ścisłego renderowania pikseli, z takim czy innym kolorem. Metody antyaliasingu, takie jak mapowanie mip, pomagają tylko rozmazać krawędzie, aby renderować kolory pośrednie. Można to zastosować do pojedynczych tekstur, ale także do całego ekranu.

Zauważ jednak, że mapowanie mip nie jest jedynym rozwiązaniem tego problemu. Możesz także użyć innych algorytmów interpolacji proceduralnej.


3
„Rozmycie krawędzi” nie jest dobrym sposobem na opisanie tego, co się dzieje. Ten rodzaj antyaliasingu polega na użyciu większej liczby próbek z oryginalnej tekstury w celu określenia koloru każdego piksela. Ponieważ mip-mapy to mniejsze kopie oryginalnej tekstury, pobranie pojedynczej próbki z mapy mip jest jak pobranie wielu próbek z oryginalnej tekstury. Warto również zauważyć, że mip-mapy to tylko optymalizacja wydajności renderowania. Ten sam efekt można uzyskać, pobierając więcej próbek z oryginalnej tekstury podczas renderowania.
Roger Dahl,

@RogerDahl Nigdy nie słyszałem o tym, że „pobiera więcej próbek z oryginalnej tekstury”, aby zastąpić mapowanie Mip. Jak to się nazywa (żebym go google)?
joehot200,

3
@ joehot200: „Mip-mapping” jest po prostu optymalizacją opartą na obliczeniach wstępnych w celu zapewnienia odpowiedniego skalowania w dół. Ogólnie rzecz biorąc, jeśli przeskalujesz obraz tak, aby jeden piksel wyjściowy odpowiadał przestrzeni pokrytej przez N pikseli w źródle, musisz użyć co najmniej tych N pikseli (i być może więcej) jako danych wejściowych. Jest to oczywiście kosztowne obliczeniowo. Mając wstępnie obliczone wersje źródła w skali 2 ^ -k dla każdej rozsądnej wartości k, możesz oszukiwać i zasadniczo odczytywać N pikseli jednocześnie.
R ..

Oczywiście, w rzeczywistości jest to mniej niż idealne przybliżenie i daje pewne artefakty aliasingu. Lepszym rozwiązaniem byłoby posiadanie wcześniej obliczonych wersji tekstury źródłowej w skalowanej skali 2 ^ n, gdyby w pełnych wymiarach znajdowały się wstępnie obliczone wersje ograniczonej pasmem. Dzięki temu uzyskasz prawidłowe próbkowanie, ale oczywiście zużyje dużo (prawdopodobnie wygórowane) więcej pamięci.
R ..

Wiem, że niektóre gry (szczególnie te nieco starsze) mają nawet anty-aliasing z suwakiem. Tak oczywiste.
Daniel

14

4
@ joehot200 Co masz na myśli mówiąc „spokrewniony”? Aliasing jest dokładnie tym, co rozwiązuje mipmapping. Aliasing to występujący „efekt”.
snake5

3
Pojawia się tu również termin „niedoszacowanie”, ponieważ renderowanie pobiera zbyt mało próbek tekstury, aby dokładnie uchwycić swój średni wygląd na rozpiętości renderowanego piksela, więc niewielkie zmiany punktów próbkowania (np. Małe ruchy kamery) powodują bardzo różne wartości wyjściowe (migoczące / musujące)
DMGregory

6

Czy jest na to jakaś konkretna nazwa?

Ten migotanie, o którym mówisz, nazywa się w tym konkretnym przypadku efektem / wzorem mory . Jest to forma przestrzennego aliasingu, jak już wspomniano w innych odpowiedziach. Jednak samo aliasing może spowodować znacznie więcej rzeczy niż tylko wzory mory.


1

Słyszałem, że określenie „trzaskanie i gotowanie się” odnosi się do aliasingu wyświetlanego na tej górze w tle. To nie jest termin matematyczny, ale jest opisowy. Tak więc aliasing byłby tym, o czym pisałbyś swój artykuł, gdybyś chciał wynaleźć inną naprawę problemu i użyć go do zdobycia pieniędzy (granty, promocja akademicka). „Wyskakiwanie i gotowanie” może być tak zwane w wersji demonstracyjnej (za pieniądze VC).


0

Chciałbym tylko dodać, że istnieje inny efekt uboczny nieużywania mapowania mip: nie tylko dostaniesz ohydne aliasing (zobacz teorię Nyquista, co się dzieje), prawdopodobnie również zmniejszysz wydajność, ponieważ dostęp do tekstur staje się niespójny i niszczy system pamięci / pamięci podręcznej procesora graficznego.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.