2.06.2006

Cálculo de ambient occlusion

Hace unos días link-aba a un artículo sobre ambient occlusion que explicaba de forma muy simple una forma de calcularlo llamada spherical armonics, procedimiento que también rgba usa en 195/95/256 del cual puse un post hace dos días (o tres).

Leyendo con más detenimiento ls artículos de iq leo (párrafos 5 y 6) la forma que tienen de calcularlo en la intro. En resumidas cuentas colocan la cámara (con un fov de 170º)en el vértice considerado mirando en dirección al vector normal y renderizan la escena, bueno, me parece haber leído que cada objeto tiene información de los objetos que debe renderizar para el cálculo del AO. El truco del asunto está en haber borrado el bit-buffer de blanco y dibujar todos los polígonos de negro, de forma que el resultado de esa escena es renderizado a una textura que es "descargada" en memoria de sistema y sobre la que se hace un cáculo de los puntos negros que hay. Como explica iq, la escena es renderizada en un viewport de 32x32 con el objetivo de minimizar el tiempo que se tarda en transferir la textura de la memoria de la gráfica a la de sistema. Una técnica la mar de simple, pero muy inteligente. La calidad del resultado salta a la vista.

Y ya que estamos con GLSL, gracias a pingüino, manual de referencia GLSL online referencia del API de GLSL y un tutorial desde 0.

EDIT: mientras cenaba me he dado cuenta que en este caso GLSL no es necesario para absolutamente nada, donde de verdad interesa es a la hora de renderizar la escena con AO.

6 comentarios:

Anónimo dijo...

Los Spherical Harmonics son otra cosa. (Una serie de funciones base que permiten emular con pocos coeficientes la iluminación de un entorno)

Anónimo dijo...

si yo te dijese:
Me gustaria aprender a usar Blender.
qué me dirias ;-)

Javi Santana dijo...

@anónimo1: sí, tienes razón, no conozco realmente la base matemática del tema, imagino que el procedimiento que explica iq tiene que ver con EA. Es más, si te fijas en la web habla de un coseno que supongo tendrá que ver. Me informaré con más detalle, gracias por el apunte.

@anónimo2: Pues te diría que adelante. Yo empezaría registrándome en los foros de 3dpoder.com y mirando la sección de tutoriales que tienen. Me bajaría los videos que tienen en la web oficial de blender, así como los tutos.

Anónimo dijo...

muchisimas gracias, ese sera mi punto de partida para la gran hazaña.

Anónimo dijo...

Bueno! Parece que ya funciona... :)

Ahora solo tengo que encontrarle la vuelta a esto, es como dices: algo engorroso (al principio me imagino)... así que será cuestion de hacer algunas pruebas.

Ya seguiré preguntando :P

Anónimo dijo...

hag! me equivoqué de tema! jeje
Javi, borra estas 2 entradas!