Przy obecnym sprzęcie filtrowanie anizotropowe tekstur stało się już niemalże standardem. O tym, że jest ono potrzebne, nie trzeba raczej nikogo przekonywać. Zobaczmy sami:

Po lewej - filtrowanie włączone (4x), po prawej - wyłączone. Na ściankach pod dużym kątem widać doskonale różnicę w filtrowaniu.
Pytanie, jak tego efektu użyć w naszym programie OpenGL? Podobnie jak większość ,,nowoczesnych'' opcji, ustalamy je za pomocą rozszerzenia. W tym przypadku zwie się ono GL_EXT_texture_filter_anisotropic. Najłatwiej jest skorzystać z niego (jak również z wszystkich innych) za pomocą GLEW. Aby włączyć filtrowanie anizotropowe dla danej tekstury, musimy ją uaktywnić i ustawić dla niej następującą opcję:
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, v);
Gdzie v to nasza wartość AF (4 albo 8 powinno być w sam raz, na sprzęcie z górnej półki nie bójmy się ustawić 16). Maksymalną wartość można odczytać za pomocą zapytania:
float max; glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &max);
Więc do roboty i włączcie filtrowanie anizotropowe we wszystkich swoich projektach! :)
Comments:
-
kuba:
hej
probowalem wlaczyc te filtrowanie anizotropowe ale nie wiem jak
mam
.....
float max;
glGetFloatv(GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT,23.03.2009 12:45:33