¿Qué tiene de anisotrópico el filtrado anisotrópico?

Piense en cómo mapearía un mapa de bits 2D (textura) a píxeles en la pantalla: calcularía dónde cae un determinado píxel de pantalla en el objeto, y luego buscaría el valor que corresponde a esta coordenada a partir de su textura .

Esto tiene el desafortunado efecto de que los objetos que son demasiado grandes en la pantalla tendrán texturas en bloque: sus consultas siguen aterrizando en el mismo texel (píxel de textura), sin mencionar que el punto que desea muestrear de la textura a menudo no será exactamente en el centro de texel, por lo que tendrás artefactos brillantes y alias.

Puede mejorar esto mediante la interpolación lineal: no muestrea solo el punto que desea, también muestra sus texels vecinos y diseña un color que sea el promedio ponderado de ellos, de acuerdo con la distancia desde la ubicación deseada. Esto ya es mucho mejor, pero tiene otro problema: al ver un objeto en un ángulo oblicuo (por ejemplo, el piso rectangular en un juego de FPS), se usarán muchas menos muestras para el extremo más alejado, solo porque no hay un todo muchos píxeles de la pantalla allí (retrocede en la distancia, pero la pantalla tiene una cuadrícula regular de píxeles).

Esto se resuelve mediante el filtrado anisotrópico, ya que el muestreo de textura no es “el mismo en todas las direcciones” (isotrópico), según lo determinado por la orientación del objeto en el espacio, habrá más texels muestreados en alguna dirección de la textura, por lo que no estás probando un cuadrado de texels, sino un rectángulo alargado o aplastado. Esto conserva un “contenido de información” relativamente constante de los píxeles de la pantalla, donde otros métodos causan borrosidad.