Anisotropes Filtern

Aus DGL Wiki
Wechseln zu: Navigation, Suche

Anisotropische Filterung ist eine Technik, die häufig eingesetzt wird, um unscharfe verschwommene Texturen unter einem flachen Betrachtungswinkel zu vermeiden.

Meistens werden Mipmaps und lineare Filter benutzt, um die Qualität von Texturen zu erhöhen. Unter einem flachen Betrachtungwinkel erscheinen diese jedoch 'verwaschen' ( siehe Bild unten links ).

Bei anisotroper Filterung wird der Betrachtungswinkel berücksichtigt und es entstehen immer geschärfte Texturen.

Textur mit linearer Filterung.
Textur mit anisotropischer Filterung.

Mit OpenGL

In OpenGL gehört anisotropische Filterung leider nicht zum Kern, kann jedoch einfach durch die Extension GL_EXT_texture_filter_anisotropic aktiviert werden, welche auf den meisten Grafikkarten zur Verfügung steht.

Aktivierung von anisotropischer Filterung ( in C )

if ( glewIsSupported( "GL_EXT_texture_filter_anisotropic" ) )
{
    float maxAni;
    
    glGetFloatv( GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, &maxAni );
    glBindTexture( GL_TEXTURE_2D, theTex );	
    glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, maxAni );              
}

Hinweis

Anisotropische Filterung sollte mit Bedacht eingesetzt werden, da sie durch erhöhten Rechenaufwand zu Performanceeinbußen führen kann. Auf aktuellen Grafikkarten sollte der Unterschied jedoch nicht sehr gravierend sein.

Links