En gráficos por computadora , el mapeo de fotones es un algoritmo de renderizado de iluminación global de dos pasadas desarrollado por Henrik Wann Jensen entre 1995 y 2001 [ 1 ] que resuelve aproximadamente la ecuación de renderizado para integrar la radiancia de la luz en un punto dado en el espacio. Los rayos de la fuente de luz (como fotones ) y los rayos de la cámara se trazan de forma independiente hasta que se cumple algún criterio de terminación, luego se conectan en un segundo paso para producir un valor de radiancia. El algoritmo se utiliza para simular de forma realista la interacción de la luz con diferentes tipos de objetos (similar a otras técnicas de renderizado fotorrealista ). Específicamente, es capaz de simular la refracción de la luz a través de una sustancia transparente como el vidrio o el agua (incluidas las cáusticas ), la interreflexión difusa entre objetos iluminados, la dispersión subsuperficial de la luz en materiales translúcidos y algunos de los efectos causados por materia particulada como humo o vapor de agua . El mapeo de fotones también se puede extender a simulaciones de luz más precisas, como el renderizado espectral . El mapeo progresivo de fotones (PPM) comienza con el trazado de rayos y luego agrega cada vez más pasadas de mapeo de fotones para proporcionar una representación cada vez más precisa.
A diferencia del trazado de rayos , el trazado de rayos bidireccional , el trazado de rayos volumétrico y el transporte de luz de Metropolis , el mapeo de fotones es un algoritmo de renderizado "sesgado" , lo que significa que promediar un número infinito de renderizados de la misma escena mediante este método no converge a una solución correcta de la ecuación de renderizado . Sin embargo, es un método consistente, y la precisión de un renderizado puede aumentarse incrementando el número de fotones. A medida que el número de fotones tiende al infinito, un renderizado se aproximará cada vez más a la solución de la ecuación de renderizado.
Efectos
Cáusticas

La luz refractada o reflejada produce patrones llamados cáusticas , que suelen ser visibles como manchas de luz concentrada en las superficies cercanas. Por ejemplo, cuando los rayos de luz atraviesan una copa de vino sobre una mesa, se refractan y se observan patrones de luz en la mesa. El mapeo de fotones permite rastrear las trayectorias de fotones individuales para modelar dónde aparecerán estas manchas de luz concentrada.
Interreflexión difusa
La interreflexión difusa se manifiesta cuando la luz de un objeto difuso se refleja en otro. El mapeo de fotones es particularmente eficaz para manejar este efecto, ya que el algoritmo refleja los fotones de una superficie a otra basándose en la función de distribución de reflectancia bidireccional (BRDF) de dicha superficie. Por lo tanto, la luz que incide sobre un objeto en otro es un resultado natural del método. La interreflexión difusa se modeló inicialmente utilizando soluciones de radiosidad . Sin embargo, el mapeo de fotones se diferencia en que separa el transporte de luz de la geometría de la escena. El sangrado de color es un ejemplo de interreflexión difusa.
Dispersión subsuperficial
La dispersión subsuperficial es el efecto que se produce cuando la luz incide sobre un material y se dispersa antes de ser absorbida o reflejada en una dirección diferente. Este fenómeno puede modelarse con precisión mediante el mapeo de fotones. Esta fue la forma original en que Jensen lo implementó; sin embargo, el método se vuelve lento para materiales con alta dispersión, y las funciones de distribución de reflectancia de dispersión superficial bidireccional (BSSRDF) resultan más eficientes en estos casos.
Uso
Construcción del mapa de fotones (primera pasada)
Con el mapeo de fotones, se envían paquetes de luz llamados fotones a la escena desde las fuentes de luz. Cada vez que un fotón intersecta una superficie, el punto de intersección y la dirección de entrada se almacenan en una memoria caché llamada mapa de fotones . Normalmente, se crean dos mapas de fotones para una escena: uno específico para cáusticas y otro global para el resto de la luz. Después de intersectar la superficie, el material proporciona una probabilidad de reflexión, absorción o transmisión/refracción. Se utiliza un método de Monte Carlo llamado ruleta rusa para elegir una de estas acciones. Si el fotón es absorbido, no se proporciona una nueva dirección y finaliza el seguimiento de ese fotón. Si el fotón se refleja, se utiliza la función de distribución de reflectancia bidireccional de la superficie para determinar la relación de radiancia reflejada. Finalmente, si el fotón se transmite, se proporciona una función para su dirección que depende de la naturaleza de la transmisión.
Una vez construido el mapa de fotones (o durante su construcción), se suele organizar de forma óptima para el algoritmo de k vecinos más cercanos , ya que el tiempo de búsqueda de fotones depende de su distribución espacial. Jensen recomienda el uso de árboles kd . El mapa de fotones se almacena en disco o en memoria para su uso posterior.
Renderizado (segunda pasada)
En esta etapa del algoritmo, el mapa de fotones creado en la primera pasada se utiliza para estimar la radiancia de cada píxel de la imagen de salida. Para cada píxel, se realiza un trazado de rayos de la escena hasta encontrar la superficie de intersección más cercana.
En este punto, la ecuación de renderizado se utiliza para calcular la radiancia superficial que sale del punto de intersección en la dirección del rayo que incidió sobre él. Para optimizar la eficiencia, la ecuación se descompone en cuatro factores distintos: iluminación directa, reflexión especular, cáusticas e iluminación indirecta suave.
Para obtener una estimación precisa de la iluminación directa, se traza un rayo desde el punto de intersección hasta cada fuente de luz. Siempre que el rayo no interseque otro objeto, se utiliza la fuente de luz para calcular la iluminación directa. Para una estimación aproximada de la iluminación indirecta, se utiliza el mapa de fotones para calcular la contribución de la radiancia.
En la mayoría de los casos, la reflexión especular se puede calcular utilizando procedimientos de trazado de rayos (ya que maneja bien las reflexiones).
La contribución de las cáusticas a la radiancia superficial se calcula directamente a partir del mapa de fotones de las cáusticas. El número de fotones en este mapa debe ser suficientemente grande, ya que es la única fuente de información sobre las cáusticas en la escena.
Para la iluminación indirecta suave, la radiancia se calcula utilizando directamente el mapa de fotones. Sin embargo, esta contribución no necesita ser tan precisa como la contribución de las cáusticas y, por lo tanto, utiliza el mapa de fotones global.
Cálculo de la radiancia mediante el mapa de fotones
Para calcular la radiancia superficial en un punto de intersección, se utiliza uno de los mapas de fotones almacenados en caché. Los pasos son:
- Reúna los N fotones más cercanos utilizando la función de búsqueda del vecino más cercano en el mapa de fotones.
- Sea S la esfera que contiene estos N fotones.
- Para cada fotón, divida la cantidad de flujo (fotones reales) que representa el fotón por el área de S y multiplique por la BRDF aplicada a ese fotón.
- La suma de esos resultados para cada fotón representa la radiancia superficial total reflejada por la intersección de la superficie en la dirección del rayo que la incidió.
Optimizaciones
- Para evitar la emisión de fotones innecesarios, la dirección inicial de los fotones salientes suele estar restringida. En lugar de simplemente enviar fotones en direcciones aleatorias, se envían hacia un objeto conocido que actúa como manipulador de fotones para enfocar o difundir la luz. Existen muchas otras mejoras que se pueden aplicar al algoritmo: por ejemplo, elegir la cantidad de fotones a enviar, y dónde y con qué patrón enviarlos. Parecería que emitir más fotones en una dirección específica provocaría una mayor densidad de fotones almacenada en el mapa de fotones alrededor de la posición donde impactan, y por lo tanto, medir esta densidad daría un valor inexacto para la irradiancia . Esto es cierto; sin embargo, el algoritmo utilizado para calcular la radiancia no depende de estimaciones de irradiancia.
- Para la iluminación indirecta suave, si la superficie es lambertiana , se puede utilizar una técnica conocida como almacenamiento en caché de irradiancia para interpolar valores a partir de cálculos previos.
- Para evitar pruebas de colisión innecesarias en iluminación directa, se pueden utilizar fotones de sombra. Durante el proceso de mapeo de fotones, cuando un fotón incide sobre una superficie, además de las operaciones habituales, se emite un fotón de sombra en la misma dirección que el fotón original, que atraviesa el objeto. El siguiente objeto con el que colisiona genera un fotón de sombra que se almacena en el mapa de fotones. Posteriormente, durante el cálculo de iluminación directa, en lugar de enviar un rayo desde la superficie hacia la fuente de luz para probar las colisiones con los objetos, se consulta el mapa de fotones en busca de fotones de sombra. Si no hay ninguno presente, el objeto tiene una línea de visión directa con la fuente de luz y se pueden evitar cálculos adicionales.
- Para optimizar la calidad de la imagen, especialmente de las cáusticas, Jensen recomienda el uso de un filtro cónico. Básicamente, el filtro pondera la contribución de los fotones a la radiancia en función de su distancia a las intersecciones rayo-superficie. Esto puede producir imágenes más nítidas.
- El mapeo de fotones en el espacio de la imagen logra un rendimiento en tiempo real calculando la primera y la última dispersión mediante un rasterizador de GPU.
Variaciones
- Aunque el mapeo de fotones fue diseñado para funcionar principalmente con trazadores de rayos, también se puede extender para su uso con renderizadores de línea de exploración .
Referencias
- ↑ Jensen, H. (1996). Iluminación global mediante mapas de fotones . [en línea] Disponible en: http://graphics.stanford.edu/~henrik/papers/ewr7/egwr96.pdf
Enlaces externos
- Iluminación global mediante mapas de fotones
- Síntesis de imágenes realistas mediante mapeo de fotones ISBN 1-56881-147-0
- Introducción al mapeo de fotones del Instituto Politécnico de Worcester
- Sesgo en la representación
- Papel Siggraph
- Algoritmos de iluminación global
- Infografías
- Gráficos por computadora en 3D