Mapeado de fotones

Aparecieron alternativas a los elementos finitos en forma de técnicas multipaso, illumination maps y las técnicas de ray tracing basadas enteramente en Monte Carlo.

Para estas regiones parece razonable pues, almacenar y reutilizar la información extraída sobre su iluminación.

Y todo ello sin dividir las superficies en trozos finitos, queremos que nuestro modelo maneje cualquier tipo de objeto.

Esto nos permite tanto manejar geometría arbitraria como modelos complejos.

La segunda idea es que la iluminación en la escena puede ser almacenada como puntos en una estructura de datos global, el mapa de fotones, en inglés photon map.

Sin embargo pagamos el precio de utilizar una estimación de densidad y por tanto un método que no nos dará siempre un rendimiento correcto, y que siempre dependerá de que para que converja más a la solución correcta se deberán almacenar y utilizar cuantos más fotones mejor.

Una vez construido el mapa de fotones lo utilizaremos para calcular la luz radiada.

Esta será la técnica usada para construir el mapa fotónico.

Vamos a ver cómo los fotones son generados en las fuentes de luz y cómo podemos seguir su recorrido en la escena de forma eficiente.

Cuando un fotón colisiona con un objeto, este puede ser con las mismas probabilidades reflejado, transmitido por refracción o absorbido.

Que pase una cosa u otra se decide probabilísticamente basándonos en los parámetros del material de la superficie en colisión.

La técnica para decidir el tipo de interacción se conoce como ruleta rusa.

La idea básica de la ruleta rusa es que podemos tomar muestras aleatorias para eliminar trabajo y aun así obtener un resultado correcto.

Con la ruleta rusa decidiremos si un fotón en colisión es reflejado o absorbido.

Por tanto a partir de la colisión de un fotón y gracias a la probabilidad lanzaremos otros que le siguen en direcciones de reflexión, refracción o simplemente desecharemos el fotón porque es absorbido por el material.

Como hemos mencionado ya, los fotones son almacenados a medida que colisionan contra superficies difusas o más bien no especulares.

Para todas las otras interacciones fotón-superficie, el mapa fotónico deberá tener información sobre ellas.

Esto es una optimización notable que nos da la llave para aproximar la iluminación reflectada en muchos puntos de la superficie.

Dese el momento que queremos que nuestra estructura de mapa fotónico sea útil para el algoritmo del mapeado fotónico, esta deberá ser muy rápida en encontrar los fotones vecinos más cercanos en 3 dimensiones a una posición dada.

Para ello Jensen se basó en la estructura que vamos a utiliza nosotros también, los Kd-Tree balanceados.

Para encontrar los vecinos más cercanos en un Kd-Tree balanceado, empezaremos por la raíz y añadiremos fotones a la lista de resultados si estos están dentro de una cierta distancia.

Y así sucederá iterativamente sobre el Kd-Tree hasta que encontremos los fotones más cercanos.

Para el algoritmo de búsqueda será necesario que un radio máximo inicial le sea definido con tal de limitar la búsqueda.

Con el Kd-Tree y un algoritmo de búsqueda eficaz y rápido sobre él, obtendremos la lista de los n fotones más cercanos a una posición en 3d dada.

La información en el mapa fotónico puede ser usada para calcular la radiación que sale desde una superficie en una dirección dada.

Desde el momento que la dirección de llegada es almacenada con cada fotón, podremos integrar la información con cualquier BRDF.

, podremos integrar toda esta información dentro de la ecuación del rendering como sigue:

El resultado es una ecuación que nos permite computar una estimación sobre la radiación reflejada en cualquier posición de cualquier superficie usando el mapa de fotones.

Esta será la base de la técnica del mapeado fotónico y aunque tanto Jensen como otros han hecho pequeñas aportaciones para mejorar el resultado en ciertos casos especiales, la base del método sigue intacta.

Por tanto, el mapeado fotónico es una forma sencilla, rápida y ajustable de calcular cual es la parte de iluminación global que recae sobre una situación dada en 3 dimensiones.

Una bola de cristal con refracción de luz.
Mapeado de fotones