Filtrado de texturas

En pocas palabras, el filtrado describe cómo se aplica una textura en muchas formas, tamaños, ángulos y escalas diferentes.Puede haber diferentes tipos de correspondencia entre un píxel y el texel/texels que representa en la pantalla.Durante la ampliación de la textura, el número de elementos de textura que deben buscarse para cualquier píxel es siempre cuatro o menos; Sin embargo, durante la minificación, a medida que el polígono texturizado se aleja, es posible que toda la textura caiga en un solo píxel.Esto requeriría leer todode sus téxeles y combinando sus valores para determinar correctamente el color del píxel, una operación prohibitivamente costosa.Mipmapping evita esto filtrando previamente la textura y almacenándola en tamaños más pequeños hasta un solo píxel.Los diferentes tamaños del mipmap se denominan 'niveles', siendo el nivel 0 el tamaño más grande (usado más cerca del espectador) y los niveles crecientes se usan a distancias crecientes.Esto no ayuda con los bloques durante la ampliación, ya que cada elemento de textura ampliado seguirá apareciendo como un rectángulo grande.OpenGL y otras API, que se usan con menos frecuencia, admiten el muestreo del vecino más cercano a partir de mipmaps individuales mientras interpolan linealmente los dos mipmaps más cercanos relevantes para la muestra.En el filtrado bilineal , se muestrean los cuatro elementos de textura más cercanos al centro del píxel (en el nivel de mipmap más cercano), y sus colores se combinan por promedio ponderado según la distancia.El filtrado trilineal es un remedio para un artefacto común que se ve en las imágenes filtradas bilinealmente mapeadas en mip: un cambio abrupto y muy notable en la calidad en los límites donde el renderizador cambia de un nivel de mapa mip al siguiente.Las técnicas "isotrópicas" más simples utilizan solo mipmaps cuadrados que luego se interpolan mediante filtrado bilineal o trilineal.El filtrado anisotrópico corrige esto muestreando la textura como una forma no cuadrada.