stringtranslate.com

Mapeo de desplazamiento

El mapeo de desplazamiento es una técnica alternativa de gráficos por computadora en contraste con el mapeo de protuberancias , normal y de paralaje , que utiliza un mapa de textura o altura para causar un efecto donde la posición geométrica real de los puntos sobre la superficie texturizada se desplaza , a menudo a lo largo de la normal de la superficie local , de acuerdo con el valor que la función de textura evalúa en cada punto de la superficie. [1] Da a las superficies una gran sensación de profundidad y detalle, permitiendo en particular la autooclusión, el autosombreado y las siluetas; por otro lado, es la más costosa de esta clase de técnicas debido a la gran cantidad de geometría adicional.

Durante años, el mapeo de desplazamiento fue una peculiaridad de los sistemas de renderizado de alta gama como PhotoRealistic RenderMan , mientras que las API en tiempo real , como OpenGL y DirectX , recién comenzaban a utilizar esta función. Una de las razones de esto es que la implementación original del mapeo de desplazamiento requería una teselación adaptativa de la superficie para obtener suficientes micropolígonos cuyo tamaño coincidiera con el tamaño de un píxel en la pantalla. [ cita requerida ]

Significado del término en diferentes contextos

El término mapeo de desplazamiento incluye el término mapeo, que se refiere a un mapa de textura que se utiliza para modular la intensidad del desplazamiento. La dirección del desplazamiento suele ser la normal de la superficie local. Hoy en día, muchos renderizadores permiten el sombreado programable que puede crear texturas y patrones procedimentales (multidimensionales) de alta calidad a frecuencias arbitrariamente altas. El uso del término mapeo se vuelve discutible, ya que ya no se involucra ningún mapa de textura. Por lo tanto, el término más amplio desplazamiento se usa a menudo hoy en día para referirse a un superconcepto que también incluye el desplazamiento basado en un mapa de textura.

Los renderizadores que utilizan el algoritmo REYES , o enfoques similares basados ​​en micropolígonos , han permitido el mapeo de desplazamiento a frecuencias altas arbitrarias desde que estuvieron disponibles hace casi 20 años.

El primer renderizador disponible comercialmente que implementó un enfoque de mapeo de desplazamiento de micropolígonos a través de REYES fue PhotoRealistic RenderMan de Pixar . Los renderizadores de micropolígonos comúnmente teselan la geometría ellos mismos con una granularidad adecuada para la imagen que se está renderizando. Es decir: la aplicación de modelado entrega primitivas de alto nivel al renderizador. Los ejemplos incluyen NURBS reales o superficies de subdivisión . Luego, el renderizador tesela esta geometría en micropolígonos en el momento del renderizado utilizando restricciones basadas en la vista derivadas de la imagen que se está renderizando.

Otros renderizadores que requieren que la aplicación de modelado entregue objetos pre-teselados en polígonos arbitrarios o incluso triángulos han definido el término mapeo de desplazamiento como el movimiento de los vértices de estos polígonos. A menudo, la dirección del desplazamiento también se limita a la normal de la superficie en el vértice. Si bien conceptualmente son similares, esos polígonos suelen ser mucho más grandes que los micropolígonos. Por lo tanto, la calidad lograda con este enfoque está limitada por la densidad de teselación de la geometría mucho tiempo antes de que el renderizador tenga acceso a ella.

Esta diferencia entre el mapeo de desplazamiento en renderizadores de micropolígonos y el mapeo de desplazamiento en renderizadores de macropolígonos sin teselación puede generar confusión en conversaciones entre personas cuya experiencia con cada tecnología o implementación es limitada. Más aún, como en los últimos años, muchos renderizadores sin micropolígonos han agregado la capacidad de hacer un mapeo de desplazamiento de una calidad similar a la que un renderizador de micropolígonos puede ofrecer de manera natural. Para distinguir entre el desplazamiento rudimentario basado en pre-teselación que estos renderizadores hacían antes, se introdujo el término desplazamiento de subpíxeles para describir esta característica. [ cita requerida ]

El desplazamiento de subpíxeles se refiere comúnmente a una re-teselación más fina de la geometría que ya estaba teselada en polígonos. Esta re-teselación da como resultado micropolígonos o, a menudo, microtriángulos. Los vértices de estos se mueven a lo largo de sus normales para lograr el mapeo de desplazamiento.

Los verdaderos renderizadores de micropolígonos siempre han podido hacer lo que el desplazamiento de subpíxeles logró solo recientemente, pero con mayor calidad y en direcciones de desplazamiento arbitrarias.

Los últimos avances parecen indicar que algunos de los renderizadores que utilizan desplazamiento de subpíxeles también están empezando a admitir geometría de nivel superior. Como es probable que los proveedores de estos renderizadores sigan utilizando el término desplazamiento de subpíxeles, esto probablemente conducirá a una mayor confusión sobre lo que realmente significa el mapeo de desplazamiento en gráficos de computadora en 3D .

En referencia al lenguaje de sombreado de alto nivel patentado de Microsoft , el mapeo de desplazamiento puede interpretarse como una especie de "mapeo de textura de vértice" donde los valores del mapa de textura no alteran los colores de los píxeles (como es mucho más común), sino que cambian la posición de los vértices. A diferencia del mapeo de relieve, normal y de paralaje, todos los cuales se puede decir que "falsifican" el comportamiento del mapeo de desplazamiento, de esta manera se puede producir una superficie realmente rugosa a partir de una textura. Debe usarse junto con técnicas de teselación adaptativa (que aumentan la cantidad de polígonos renderizados según la configuración de visualización actual) para producir mallas altamente detalladas. [ cita requerida ]

Véase también

Lectura adicional

Referencias

  1. ^ "Capítulo 8. Mapeo de desplazamiento por píxel con funciones de distancia". NVIDIA Developer . Consultado el 10 de mayo de 2023 .