¿Qué es el filtro anisotrópico?

Especificaciones tarjeta gráfica
Copyright Getty

El filtro anisotrópico nos permite crear imágenes de mayor calidad en juegos consiguiendo al mismo tiempo no perder mucho rendimiento, ni fluidez.

La creación de una imagen tridimensional es una tarea computacional muy costosa. Por esta razón, a veces, pueden producirse los molestos saltos a la hora de jugar. Incluso con las tarjetas gráficas actuales que tienen gran cantidad de núcleos puede ser un problema.

Para generar una imagen en dos dimensiones a partir de modelos tridimensionales, el equipo debe tener en cuenta todos los objetos de un escenario, sus colores y su iluminación incluso de aquellos que están fuera de la vista o muy alejados.

Esto lleva a que se deban de utilizar algunas técnicas para reducir la complejidad del trabajo al que se enfrenta el equipo y aumentar así la velocidad del juego aunque sea a costa de una calidad de imagen menor. Por ejemplo, se tiene en memoria, a la hora del procesado, sólo aquellos objetos y texturas a los que mira el jugador y no todo el escenario.

¿Qué son las texturas?

Para dibujar un objeto en pantalla se necesita conocer su forma y los colores que tiene. Esos colores o esa pintura que envuelve a los objetos, también llamada piel, es lo que se llama textura.

Las texturas deben ser lo más detalladas posibles para conseguir los mejores resultados. A mayor detalle mayor necesidad de memoria para almacenarlas y para trabajar con ellas.

El problema surge en que la cantidad de memoria es limitada, luego debemos usar alguna técnica que nos permita reducirlas. La usada se denomina mipmapping.

¿Qué es el mipmapping?

Esta técnica se basa en algo muy sencillo. Los objetos más cercanos a la cámara necesitan una versión de la textura de mayor calidad pudiéndose usar una con menos detalles para los objetos del fondo.

De esta forma se tienen distintas versiones de la textura dependiendo de la distancia a la que este el objeto del observados. Se ahorra memoria a la vez que se aumenta la velocidad a la que se generan las imágenes.

Pero no todo son ventajas, existe un problema que genera el uso de esta técnica con los objetos que están inclinados. Por ejemplo el suelo en un juego que el observador está por encima de él. Este se encuentra a diferentes distancias y por lo tanto la versión de la textura varía a lo largo del objeto, provocando que la imagen no se muestre de forma correcta. Puedes ver como el suelo tiene irregularidades en aquellas zonas que pasa de una versión de la textura a la siguiente.

De esto surge la necesidad de aplicar algún tipo de procesado que mejore la calidad de imagen que estamos obteniendo sin que tenga un coste computacional muy grande.

¿Qué tiene que ver el filtro anisotrópico en esto?

Las tarjetas gráficas modernas usan los llamados filtros anisotrópicos. El objetivo es claro, tener la misma o muy parecida velocidad pero sin tener que renunciar a la calidad. Existen tres tipo de filtros anisotrópicos, bi-lineal, tri-lineal y full anisotropic o completamente anisotrópico.

Bi-lineal. En el cálculo del color del píxel se toman varias muestras de la textura y se combina el color de ellas. Su funcionamiento es muy parecido al filtro antialiasing pero dentro de la propia textura. Estos puntos son tomados de una sola versión de esta. Este modo es usado por defecto en cualquier tarjeta gráfica.

Tri-lineal. Se toman varias muestras pero se combinan con la versión de la textura que se encuentra más cercana. Es decir, utilizamos dos versiones de texturas. De esta forma los saltos entre las diferentes distancias son menos acusados.

Full anisotropic. En este caso el número de muestras depende del ángulo que veamos el objeto. Cuando usamos por ejemplo 8xAF estamos usando ocho veces más muestras que para una trilinear.

La mejora obtenida por estos filtros es considerable, aunque será mayor en aquellos objetos que se muestren casi paralelos a la cámara.

De todas formas no dudes en activarlos si tu hardware te lo permite y comprueba que tal se ve.