Mapeado de fotones

Una bola de cristal con refracción de luz.

El concepto de Mapeado de fotones (en inglés Photon mapping), fue introducido por Henrik Wann Jensen en junio de 1996. Él, al igual que los que se dedican a la informática gráfica, tuvo la necesidad de un algoritmo que fuera capaz de renderizar imágenes de geometría compleja con iluminación global; un algoritmo que fuera capaz de manejar cualquier tipo de geometría y de BRDF (Bidirectional reflectance distribution function).

Mapeado de Fotones (Photon Mapping)

Ha quedado claro que las técnicas de radiosidad basadas en elementos finitos no satisfacen nuestros requerimientos. Los métodos de radiosidad tienen problemas con los BRDF especulares y son demasiado costosos cuando la geometría se complica demasiado.

Alternativas a los elementos finitos aparecieron en forma de técnicas multipaso, illumination maps y las técnicas de ray tracing basadas enteramente en Monte Carlo. La mejor alternativa sin duda fue la última de ellas pero provocaba cierto ruido en la imagen debido a la varianza de los resultados, además el eliminar este ruido presentaba un sobrecoste demasiado grande.

El mapeado de fotones fue desarrollado por Jensen como una alternativa a las ténicas de trazado de rayos basadas enteramente en Monte Carlo. El fin era obtener las mismas ventajas pero con un método más eficiente que no sufriera complicaciones por el ruido.

Para ello parece correcto pensar que hay que usar el mismo algoritmo basado en el trazado de rayos y además hay que procurar un algoritmo eficiente de transporte de la luz en la escena ya que tanto las luces como el observador son parte primordial de la síntesis de imágenes. También queremos utilizar técnicas de Monte Carlo vistas anteriormente pero con la certidumbre de que la componente de radiación se mantiene suave a lo largo de grandes regiones para la mayoría de los modelos. 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.

La primera idea para solucionar el problema es pues, la de desacoplar la representación de la iluminación de la geometría. 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. Muchas alternativas a los puntos fueron consideradas pero todas fallaban en una de las tres condiciones: capacidad de representar cualquier tipo de iluminación, estar desacoplado frente a la geometría y ser compacto. Por eso los puntos son la manera más flexible posible de manejar superficies de cualquier tipo de BRDF. Estos puntos además de su posición almacenarán también información sobre la dirección de incidencia de la luz y otros factores que nos facilitarán los cálculos.

El mapa de fotones puede entenderse como una caché de caminos de luces en un trazado de caminos (path tracing) direccional y podría ser utilizado ciertamente para tal método. Pero también puede usarse en un método diferente de estimación de la iluminación basada en la estimación de densidad. Esta estimación de densidad tiene la ventaja que su error es de una frecuencia mucho más baja que el que se da en los tradicionales métodos de Monte Carlo. Además el método de estimación de densidad es mucho más rápido que un trazador puramente basado en Monte Carlo. 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.

Usaremos el nombre 'Mapeado de fotones' para designar el algoritmo que genera, almacena y usa la iluminación como puntos, y el 'Mapa de fotones' como la estructura usada para procesar estos puntos. Así mismo, el 'Trazado de fotones' será la técnica usada para generar los puntos que representan la iluminación en el modelo.

El método del mapeado de fotones es un método de dos pasos donde los pasos son:

  1. Trazado Fotónico (Photon Tracing), construir el mapa de fotones trazando fotones desde las luces y a través de la escena.
  2. Radiación estimada (Radiance Estimate), estimar la radiación producida en un punto de la escena mediante estimación de densidad.

Así el mapa de fotones será construido usando 'Trazado fotónico' donde los fotones son emitidos desde las luces y almacenados al interactuar con las superficies del modelo. Una vez construido el mapa de fotones lo utilizaremos para calcular la luz radiada.

Trazado Fotónico (Photon Tracing)

El trazado fotónico es el proceso de emitir fotones desde las fuentes de luz y trazarlos a través de la escena. 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. Siendo esto la base para construir un buen mapa de fotones.

Other Languages