32 votos

¿Cuál es la diferencia entre el filtrado de textura bilineal, trilineal y anisotrópico?

Muchos juegos ofrecen la posibilidad de filtrar las texturas. ¿Cuál debería elegir si quiero la mejor calidad aunque signifique un rendimiento más lento?

  1. Bilineal
  2. Trilineal
  3. Anisotrópico

1voto

agent86 Puntos 102308

La forma en que los has enumerado (Bilineal -> Trilineal -> Anisotrópico) es el orden adecuado de menor a mayor calidad de imagen, y en orden creciente con respecto a la potencia de procesamiento.

En términos más sencillos, pasar de bilineal a trilineal evitará problemas en los cambios de tamaño de las texturas (es decir, al caminar hacia una pared, la textura no parecerá cambiar bruscamente a ciertos intervalos cuando te acerques a ella). Pasar de trilineal a anisotrópico hará que las texturas de los objetos que se alejan de ti parezcan más nítidas de lo que serían de otro modo.

A continuación se ofrece una explicación un poco más detallada, pero ten en cuenta que se trata de un tema muy técnico, y un tratamiento completo está probablemente fuera del alcance de Gaming.StackExchange.

El problema principal es que los artistas que trabajan en texturas 3D crean un conjunto de imágenes 2D de tamaños fijos. A continuación, estas imágenes se "pintan" en objetos 3D. Sin embargo, una vez que esa textura se aplica a un objeto 3D, puede girarse y verse desde muchos ángulos y distancias diferentes. El filtrado de texturas intenta asignar los pasos discretos del arte disponible al dominio continuo de cómo se puede ver.

Por ejemplo, un artista puede crear una imagen de 64x64 para utilizarla como textura de un objeto sencillo. Sin embargo, cuando ves ese objeto en el mundo del juego, te acercas mucho a él y ocupa toda la pantalla, que puede tener varios miles de píxeles de ancho. Ahora el motor tiene que tomar una simple imagen 2D de baja resolución y hacerla mucho, mucho más grande sin sacrificar la calidad.

Bilineal y Trilineal son técnicas de filtrado "isotrópico" para el mipmapping, en contraste con el "anisotrópico". Wikipedia tiene un artículo decente sobre este tema, pero intentaré resumirlo.

Esencialmente, a medida que se amplía una textura (es decir, acercando el jugador/cámara a ella), los píxeles de la textura necesitan ser mapeados en múltiples píxeles de la imagen de salida. El mapeo bilineal es una forma de calcular o interpolar el valor de color del píxel de salida basado en el tamaño del polígono de salida y los píxeles de la textura de entrada.

El mapeo trilineal tiene en cuenta que las texturas suelen tener varios tamaños en función de la distancia a la que se encuentre el objeto texturizado. Nuestro artista de antes podría hacer varios tamaños de textura diferentes, para que los objetos que están cerca de la cámara puedan tener texturas de mayor resolución aplicadas a ellos, haciendo así que se vean mejor. Además de interpolar los píxeles del tamaño de textura actual, el filtrado trilineal es capaz de interpolar también entre diferentes tamaños de textura.

enter image description here

(Un "mipmap" o copia multirresolución de una imagen, véase este artículo de Wikipedia )

El filtrado anisotrópico tiene en cuenta que, debido a la orientación de la cámara, el polígono de salida puede no ser rectangular. Este método de filtrado realiza algunos cálculos adicionales para calcular el efecto que tiene el ángulo de la cámara en las dimensiones de la textura de salida.

De nuevo, Wikipedia tiene un buen ejemplo de esto como parte de la artículo de filtrado anisotrópico. También puedes experimentar la diferencia por ti mismo jugando con la configuración de los gráficos en Google Earth, que es de donde se tomó la captura de pantalla.

JugonesTop.com

Jugonestop es una comunidad para amantes del gaming. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X