Mapeado por paralaje

Revisión del 14:10 30 may 2011 de Yoels04024jc (discusión | contribuciones) (Página creada con '{{Definición |nombre=Parallax mapping |imagen=Parallax_Occlusion_Mapping.jpg |tamaño=260px |concepto=es una mejora de las técnicas Bump mapping o Normal mapping que se aplica...')
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
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 et al 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 podamos simular relieves muy complejos sin tener que introducir geometría adicional. Como muestra 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 hemos de hacernos la pregunta ¿Debo pintar el píxel que me toca, o hay otro píxel más cercano al observador que lo ocluye (porque está más alto)?

Para responder a esta pregunta, debemos mirar a varios puntos vecinos que estén más cerca del observador y que tengan una altura mayor que este, finalmente nos quedaremos con el punto más alto y este será el que pintemos.

Esto sugiere varias cosas, la primera de ellas es que tenemos que saber que 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 que exploremos, de forma que si exploramos muchos nuestra tarjeta gráfica “sufrirá” las consecuencias pero tendremos unos resultados de gran calidad. Explorando pocos vecinos podríamos tener “escalones” u otros artefactos extraños.

Fuente

http://www.graphics-science.net