Mapeado por paralaje

Parallax mapping
Información sobre la plantilla
Parallax Occlusion Mapping.jpg
Concepto:Es una mejora de las técnicas Bump mapping o Normal mapping que se aplican a texturas en aplicaciones 3D como los videojuegos

Parallax mapping (también llamado "offset mapping" o "virtual displacement mapping") es una mejora de las técnicas Bump mapping o Normal mapping que se aplican a texturas en aplicaciones 3D como los videojuegos. Para el usuario final, esto significa que las texturas como las de las rocas tendrán una profundidad más clara y un realismo mayor con poca influencia en el desempeño de la simulación. Parallax mapping fue introducido por Tomomichi Kaneko en el 2001.

Introducción

El Occlusion Parallax Mapping es una técnica que se le aplica a una textura para darle una falsa apariencia de relieve. Esta técnica tiene en cuenta la posición de la luz, la posición del observador y la dirección que tiene la superficie donde está la textura cuyo relieve queremos simular. Decimos “falsa apariencia” porque no es más que un engaño al ojo, es decir, si miras la superficie completamente de perfil, no verás relieve alguno.

Occlusion

El término “Occlusion” viene de que ciertos elementos de la textura pueden “tapar” a otros que están detrás, lo que le dá un efecto muy interesante, ya que esto hace que se pueda simular relieves muy complejos sin tener que introducir geometría adicional. Como muestran algunas imágenes que seguro que todos habéis visto. Tal como se aprecia en la imagen, los ladrillos más cercanos ocluyen a las juntas y a los ladrillos más lejanos.

Imágen generada por el motor Open Source Irrlicht

¿Cómo funciona?

Parallax mapping se logra implementar desplazando las coordenadas de la textura a un punto en el polígono por una función desde el ángulo de vista en el espacio de la tangente (el ángulo relativo a la superficie normal) y el valor del mapa de alturas en tal punto. Desde un punto de vista inclinado, las coordenadas de la textura se desplazan más, y así se logra la ilusión de profundidad debido a los efectos parallax mientras la vista se mueve.

En otras palabras: cuando la tarjeta gráfica está rasterizando una textura sobre un triángulo, para cada píxel rasterizado se define lo siguiente ¿Pintar el píxel correspondiente, o el más cercano al observador que lo ocluye (porque está más alto)?

Para responder a esta pregunta, se analizan varios puntos vecinos que estén más cerca del observador y que tengan una altura mayor que este, finalmente es selecionado el punto más alto y este será el pintado.

Esto sugiere varias cosas, la primera de ellas es determinar qué vecinos buscar, aunque lógicamente los vecinos a comprobar son aquellos que siguen la línea observador-punto. Otra de las cosas consiste en asignar una altura a cada píxel donde el valor de altura está comprendido entre 0 y 255.

En la siguiente imagen se ve claramente este proceso.

Funcionamiento de Occlusion Parallax Mapping

De forma que para cada punto a rasterizar, hay que mirar a una serie de vecinos, por supuesto la calidad de esta técnica depende del número de vecinos explorados. A mayor numero de vecinos explorados mayor será la calidad final, pero mayor será el trabajo para la tarjeta gráfica. Explorando pocos vecinos pueden aparecer “escalones” u otros artefactos extraños.

Fuente