mapa MIP


En gráficos por computadora , los mipmaps (también mapas MIP ) o pirámides [1] [2] [3] son secuencias de imágenes optimizadas y precalculadas, cada una de las cuales es una representación de resolución progresivamente menor de la anterior. La altura y el ancho de cada imagen, o nivel, en el mipmap es un factor de dos menor que el nivel anterior. Los Mipmaps no tienen que ser cuadrados. Están destinados a aumentar la velocidad de renderizado y reducir el aliasartefactos Se utiliza una imagen mipmap de alta resolución para muestras de alta densidad, como para objetos cercanos a la cámara; Se utilizan imágenes de menor resolución a medida que el objeto aparece más lejos. Esta es una forma más eficiente de reducir ( minimizar ) una textura que muestrear todos los elementos de textura en la textura original que contribuirían a un píxel de pantalla ; es más rápido tomar un número constante de muestras de las texturas adecuadamente filtradas. Los Mipmaps se usan ampliamente en juegos de computadora en 3D , simuladores de vuelo , otros sistemas de imágenes en 3D para el filtrado de texturas y software GIS en 2D y 3D . Su uso se conoce como mipmapping. Las letras MIP en el nombre son un acrónimo de la frase latina multum in parvo , que significa "mucho en poco". [4]

Dado que los mipmaps, por definición, están preasignados , se requiere espacio de almacenamiento adicional para aprovecharlos. También están relacionados con la compresión wavelet . Las texturas Mipmap se utilizan en escenas 3D para reducir el tiempo necesario para renderizar una escena. También mejoran la calidad de la imagen al reducir los patrones de aliasing y Moiré que se producen a grandes distancias de visualización, [5] a costa de un 33 % más de memoria por textura.

Mipmapping fue inventado por Lance Williams en 1983 y se describe en su artículo Pyramidal parametrics . [4] Del resumen: "Este documento presenta una geometría de prefiltrado y muestreo 'paramétrica piramidal' que minimiza los efectos de aliasing y asegura la continuidad dentro y entre las imágenes de destino". La pirámide a la que se hace referencia se puede imaginar como el conjunto de mapas MIP apilados uno frente al otro.

El origen del término mipmap es un inicialismo de la frase latina multum in parvo ("mucho en un espacio pequeño"), y mapa, modelado en mapa de bits. [4] El término pirámides todavía se usa comúnmente en un contexto GIS . En el software GIS, las pirámides se utilizan principalmente para acelerar los tiempos de representación.

Cada imagen de mapa de bits del conjunto de mipmap es un duplicado reducido de la textura principal , pero con cierto nivel reducido de detalle. Aunque la textura principal aún se usaría cuando la vista sea suficiente para renderizarla con todo detalle, el renderizador cambiará a una imagen de mapa mip adecuada (o, de hecho, interpolará entre las dos más cercanas, si el filtrado trilineal está activado) cuando la textura esté visto desde la distancia o en un tamaño pequeño. La velocidad de renderizado aumenta ya que la cantidad de píxeles de textura ( texels ) que se procesan por píxel de visualización puede ser mucho menor para obtener resultados similares con las texturas mipmap más simples. Si usa un número limitado de muestras de textura por píxel de visualización (como es el caso con el filtrado bilineal) entonces los artefactos se reducen ya que las imágenes de mipmap ya están efectivamente suavizadas . La reducción y la ampliación también se hace más eficiente con mipmaps.

Si la textura tiene un tamaño básico de 256 por 256 píxeles, entonces el conjunto de mipmap asociado puede contener una serie de 8 imágenes, cada una con un cuarto del área total de la anterior: 128×128 píxeles, 64×64, 32×32 , 16×16, 8×8, 4×4, 2×2, 1×1 (un solo píxel). Si, por ejemplo, una escena muestra esta textura en un espacio de 40 × 40 píxeles, entonces una versión ampliada de 32 × 32 (sin interpolación trilineal ) o una interpolación de 64 × 64 y 32 × 32 Se utilizarían mipmaps (con interpolación trilineal). La forma más sencilla de generar estas texturas es mediante promedios sucesivos; sin embargo, también se pueden usar algoritmos más sofisticados (quizás basados ​​en procesamiento de señales y transformadas de Fourier ).


Imagen que muestra cómo los mipmaps reducen el aliasing a grandes distancias.
Imagen que muestra cómo los mipmaps reducen el aliasing a grandes distancias. (El alias provoca un patrón Moiré en la imagen de la izquierda).
Ejemplo de almacenamiento de imágenes mipmap: la imagen principal de la izquierda se acompaña de copias filtradas de tamaño reducido.
Mostrar cada canal de color de cada nivel de un mipmap RGB como un plano separado (izquierda) demuestra que todo el mipmap forma un cuadrado de 4 veces el área. Como cada plano requiere 13 de almacenamiento, los mipmaps requieren 43 de memoria; es decir, 13 ≈ 33% más.