scieee AI-readable full text Open interactive document viewer

Repositorio Institucional de Documentos

Abstract

La simulación del transporte de luz en una escena mediante un ordenador es conocido como renderizado. Simular las interacciones físicas de la luz con la materia es una de las tareas más desafiantes en la informática gráfica. Medios participativos cotidianos como la niebla o la piel, interaccionan con la luz produciendo efectos muy interesantes. Para renderizar el transporte de luz en una escena según las propiedades de la materia, es necesario basarse en los modelos físicos que las definen, conllevando el uso de costosos algoritmos que los aproximan. El estudio del transporte de luz es un elemento clave a la hora de mejorar los algoritmos existentes. Los recientes avances en captura ultrarrápida de imágenes nos permiten observar luz en movimiento a escalas macroscópicas, permitiéndonos ver cómo se propaga e interacciona con la materia y dando lugar a numerosas aplicaciones. Esto demuestra que existe información de utilidad en el dominio temporal que hasta ahora no se había tenido en cuenta. En el campo del render, esta información temporal normalmente es descartada, asumiendo que la luz tiene velocidad infinita, y produciendo imágenes en las que la luz está propagada por toda la escena. Romper esta asunción y considerar la velocidad de la luz finita implica la definición de un modelo de transporte de luz transitorio, es decir, teniendo en cuenta el tiempo de propagación de la luz. Este proyecto se centra en renderizar el transporte de luz transitorio tanto en el vacío como en medios participativos, incluyendo el tiempo en los modelos tradicionales de transporte de luz. Para ello se ha implementado uno de los últimos avances en render de medios participativos, el algoritmo Photon Beams, y se ha modificado para incluir el tiempo de propagación de la luz considerando los efectos que tiene la inclusión del tiempo en las propiedades de los medios. Analizar el transporte de luz transitorio aumenta la complejidad del render, dado que estamos añadiendo una dimensión más al problema. Reducir la dimensionalidad de un problema es una estrategia apropiada para analizarlo, ya que simplifica los modelos matemáticos, reduce los costes de cálculo y permite representar la información de manera más intuitiva. Aplicado al transporte de luz, reducir la dimensionalidad espacial a 2D requiere reconsiderar su formulación. En este proyecto redefinimos las propiedades de los medios participativos para el transporte de luz en 2D y realizamos una adaptación 2D del algoritmo Photon Beams. Basados en este enfoque, analizamos el transporte de luz en el tiempo variando las características de los medios y observando los perfiles temporales de la propagación de la luz dentro de medios participativos. Estos análisis nos han permitido detectar limitaciones sobre algoritmos ya existentes, así como observar las desventajas de las técnicas de muestreo utilizadas en los algoritmos estacionario cuando intentamos aplicarlas al transporte de luz transitorio. Finalmente hemos podido comprobar cómo los distintos sistemas de representación y las propiedades de los medios afectan a cómo interpretamos el transporte de luz en una escena. Este trabajo se ha realizado dentro de un proyecto de investigación en el Graphics and Imaging Lab y en colaboración con Wojciech Jarosz, investigador jefe del grupo de rendering en Disney Research, Zürich. Los resultados de este proyecto serán sometidos a la conferencia internacional SIGGRAPH 2014. Adicionalmente resultados previos de este trabajo se presentaron en la Congreso Español de Informática Gráfica 2013. Marco Murria, Julio; Jarabo Torrijos, Adrián

Full text

Repositorio de la Universidad de Zaragoza – Zaguan http://zaguan.unizar.es ! Proyecto Fin de Carrera Transporte de Luz Transitorio en Medios Participativos Julio Marco Murria Director: Adrián Jarabo Torrijos Ponente: Dr. Diego Gutiérrez Pérez Escuela de Ingeniería y Arquitectura 2013 7UDQVSRUWHGH/X]7UDQVLWRULR HQ0HGLRV3DUWLFLSDWLYRV 1RYLHPEUHGH 3UR\HFWR)LQGH&DUUHUD ,QJHQLHURHQ,QIRUP£WLFD (VFXHODGH,QJHQLHU¯D\$UTXLWHFWXUD 8QLYHUVLGDGGH=DUDJR]D 'LUHFWRU $ '5,1 - $5$%2 - 8/,2 0 $5&2 0 855,$ 3RQHQWH ' ,(*2 * 87,55(= Resumen La simulaci´on del transporte de luz en una escena mediante un ordenador es conocido como renderizado. Simular las interacciones f´ısicas de la luz con la materia es una de las tareas m´as desafiantes en la inform´atica gr´afica. Medios participativos cotidianos como la niebla o la piel, interaccionan con la luz produciendo efectos muy interesantes. Para renderizar el transporte de luz en una escena seg´un las propiedades de la materia, es necesario basarse en los modelos f´ısicos que las definen, conllevando el uso de costosos algoritmos que los aproximan. El estudio del transporte de luz es un elemento clave a la hora de mejorar los algoritmos existentes. Los recientes avances en captura ultrarr´apida de im´agenes nos permiten observar luz en movimiento a escalas macrosc´opicas, permiti´endonos ver c´omo se propaga e interacciona con la materia y dando lugar a numerosas aplicaciones. Esto demuestra que existe informaci´on de utilidad en el dominio temporal que hasta ahora no se hab´ıa tenido en cuenta. En el campo del render, esta informaci´on temporal normalmente es descartada, asumiendo que la luz tiene velocidad infinita, y produciendo im´agenes en las que la luz est´a propagada por toda la escena. Romper esta asunci´on y considerar la velocidad de la luz finita implica la definici´on de un modelo de transporte de luz transitorio, es decir, teniendo en cuenta el tiempo de propagaci´on de la luz. Este proyecto se centra en renderizar el transporte de luz transitorio tanto en el vac´ıo como en medios participativos, incluyendo el tiempo en los modelos tradicionales de transporte de luz. Para ello se ha implementado uno de los ´ultimos avances en render de medios participativos, el algoritmo Photon Beams, y se ha modificado para incluir el tiempo de propagaci´on de la luz considerando los efectos que tiene la inclusi´on del tiempo en las propiedades de los medios. Analizar el transporte de luz transitorio aumenta la complejidad del render, dado que estamos a˜nadiendo una dimensi´on m´as al problema. Reducir la dimensionalidad de un problema es una estrategia apropiada para analizarlo, ya que simplifica los modelos matem´aticos, reduce los costes de c´alculo y permite representar la informaci´on de manera m´as intuitiva. Aplicado al transporte de luz, reducir la dimensionalidad espacial a 2D requiere reconsiderar su formulaci´on. En este proyecto redefinimos las propiedades de los medios participativos para el transporte de luz en 2D y realizamos una adaptaci´on 2D del algoritmo Photon Beams. Basados en este enfoque, analizamos el transporte de luz en el tiempo variando las caracter´ısticas de los medios y observando los perfiles temporales de la propagaci´on de la luz dentro de medios participativos. Estos an´alisis nos han permitido detectar limitaciones sobre algoritmos ya existentes, as´ı como observar las desventajas de las t´ecnicas de muestreo utilizadas en los algoritmos estacionario cuando intentamos aplicarlas al transporte de luz transitorio. Finalmente hemos podido comprobar c´omo los distintos sistemas de representaci´on y las propiedades de los medios afectan a c´omo interpretamos el transporte de luz en una escena. Este trabajo se ha realizado dentro de un proyecto de investigaci´on en el Graphics and Imaging Lab y en colaboraci´on con Wojciech Jarosz, investigador jefe del grupo de rendering en Disney Research, Z¨urich. Los resultados de este proyecto ser´an sometidos a la conferencia internacional SIGGRAPH 2014. Adicionalmente resultados previos de este trabajo se presentaron en la Congreso Espa˜nol de Inform´atica Gr´afica 2013. A la memoria de mi padre. iii Agradecimientos Quiero dar las gracias a Adri´an por su ayuda y dedicaci´on, y por ense˜narme cosas nuevas cada d´ıa. A ´el y a Diego por confiar en m´ı y darme la oportunidad de participar en este proyecto tan importante. A Wojciech por resolver todas las dudas que le plante´e hasta el detalle m´as m´ınimo. Tambi´en a toda la gente del laboratorio por generar tan buen rollo y por sus buenos consejos, especialmente a Adolfo y Jos´e por interminables y fruct´ıferas discusiones sobre este trabajo. Y por ´ultimo, y lo m´as importante, a mi madre y a mi hermana, por aguantarme en los momentos dif´ıciles todos estos a˜nos. Gracias. v 2Cap´ıtulo 1 – Introducci´on (a) Dispersi´on a trav´es de la niebla. (b) Dispersi´on bajo la supericie (subsurface scattering) en la cera de la vela, y emisi´on en la llama. Figura 1.2: Ejemplos de medios participativos en el mundo real. Relajar la asunci´on inicial de que la velocidad de la luz es infinita y considerar los tiempos de propagaci´on de la luz hace que nos movamos del cl´asico transporte de luz en estado estacionario al transporte de luz en estado transitorio. Considerar el transporte de luz transitorio en el renderizado conlleva tener en cuenta el tiempo que le cuesta a la luz propagarse a trav´es de la escena, normalmente descartado por los algoritmos tradicionales de render. En este proyecto nos centramos en renderizar transporte de luz transitorio en medios participativos. Simular de manera precisa el transporte de luz en este tipo de medios supone un reto, ya que las interacciones de luz ocurren en puntos diferenciales del espacio. Esto conlleva el uso de un gran n´umero de algoritmos num´ericos que simulan de manera aproximada los modelos f´ısicos que definen estas interacciones, normalmente con altos costes computacionales. En este proyecto se comparan las ventajas e inconvenientes al incluir el dominio temporal en los algoritmos estacionarios, y se discute c´omo la propagaci´on de la luz en el dominio temporal muestra limitaciones en algunos de los m´etodos existentes. Para ello, se ha implementado el algoritmo Photon Beams [JNSJ11], uno de los ´ultimos avances en investigaci´on en el renderizado de medios participativos, y se ha adaptado para incluir el transporte de luz en estado transitorio. Renderizar transporte de luz transitorio a˜nade una dimensi´on adicional al problema. Esto incrementa el nivel de complejidad durante el proceso del render, y requiere una representaci´on de los resultados mediante v´ıdeo en vez de las t´ıpicas im´agenes est´aticas del render estacionario. Esto hace que el an´alisis sea muy complicado si considreamos un mundo 3D, y movernos a 2D supone un enfoque mucho m´as intuitivo y adecuado para analizar el transporte de luz transitorio en render. Primero, simplifica los modelos matem´aticos y las derivaciones, y consecuentemente reduce los costes de c´alculo al renderizar. Segundo, permite utilizar sistemas de representaci´on mucho m´as intuitivos, proporcionando entendimiento pr´actico igualmente aplicable a 3D. Este enfoque requiere que consideremos el transporte de luz en 2D, necesitando redefinir las propiedades f´ısicas ya existentes en 3D para un mundo 2D. Jarosz et. al [JSKJ12] proponen un modelo radiom´etrico en 2D para analizar el transporte de luz en el vac´ıo (sin medios participativos). Dado que este proyecto tambi´en incluye el an´alisis del transporte de luz en medios participativos, contribuimos al model de Jarosz et. al con consideraciones y definiciones adicionales sobre radiometr´ıa para medios participativos en 2D, y las usamos para implementar una adaptaci´on del algoritmo Photon Beams en 2D. Considerar el transporte de luz en estado transitorio abre nuevas formas de analizar las interacciones de la luz con la materia. Dado que todo el proceso de render se realiza normalmente utilizando un modelo directo, nos permite modificar las Cap´ıtulo 1 – Introducci´on 3 propiedades de la materia en la escena para obtener datos valiosos en el dominio temporal de utilidad para resolver problemas inversos. Esto nos permite obtener informaci´on adicional bajo un entorno controlado que nos ayuda a entender el transporte de luz y sus interacciones con la materia. Adem´as, incluir el tiempo de propagaci´on de la luz en los algoritmos comunes de render estacionario permite observar su comportamiento en el dominio temporal, y puede ayudar a mejorar las t´ecnicas actuales de render. Resumiendo, las principales contribuciones de este proyecto son: Formulaci´on del transporte de luz transitorio para medios participativos, discutiendo la inclusi´on del tiempo en el modelo f´ısico. Definici´on del transporte de luz en 2D para medios participativos, considerando cambios de dimensionalidad en sus propiedades. Implementaci´on del algoritmo Photon Beams, y su derivaci´on y adaptaci´on a 2D. Derivaci´on y adaptaci´on de una versi´on transitoria del algoritmo Photon Beams, incluyendo el tiempo de propagaci´on de la luz y discutiendo los efectos de esta inclusi´on en la precisi´on de los resultados. Este proyecto est´a enmarcado dentro de un proyecto de investigaci´on del Graphics and Imaging Lab, y realizado en colaboraci´on con Wojciech Jarosz, investigador jefe en el grupo de rendering de Disney Research, Z¨urich. Parte de los resultados de este proyecto ser´an incluidos en el art´ıculo del proyecto de investigaci´on al que va ligado, y que ser´a sometido a la conferencia mundial de gr´aficos SIGGRAPH en enero de 2014. De manera adicional, resultados previos y discusiones de este proyecto fueron incluidos en un p´oster presentado en el Congreso Espa˜nol de Inform´atica Gr´afica (CEIG) en septiembre de 2013 (ver Anexo B). Cap´ıtulo 2 Trabajo Relacionado Mientras que el transporte de luz estacionario ha sido investigado ampliamente en los gr´aficos por ordenador tanto para transporte en el vac´ıo [DBB06, KGKCn13] como en medios participativos [GJJD09], su generalizaci´on a la propagaci´on de la luz en estado transito no ha recibido mucha atenci´on. A pesar de que en general el tiempo de propagaci´on se incluye en la base te´orica del transporte de luz [Arv93], la mayor´ıa de los trabajos cambian r´apidamente al transporte estacionario, y no se ha propuesto ni discutido ninguna aplicaci´on de render transitorio, asumiendo pues que la velocidad de la luz es infinita. El t´ermino Renderizado Transitorio fue acu˜nado por primera vez por Smith et al. [SSD08]. Presentaron una generalizaci´on de la Ecuaci´on de Render [Kaj86] modelada como un operador recursivo incluyendo la propagaci´on de la luz a velocidad finita. El modelo presentado forma una base te´orica s´olida para un modelo directo para ser usado en aplicaciones de visi´on por computador basadas en los tiempos de propagaci´on de la luz, pero no provee un entorno pr´actico para render. Jarabo [Jar12] presenta un entorno pr´actico para analizar transporte de luz en estado transitorio, simulando los dispositivos de captura ultra-r´apida de im´agenes usados en [VWJ+12, VWJ+13], proporcionando un sistema funcional para desarrollar algoritmos transitorios de render, utilizado en el desarrollo de este proyecto. Heide [Hei12] desarroll´o una versi´on transitoria del algoritmo Radiosity [GTGB84] en GPU, us´andolo como un modelo directo para recuperar geometr´ıa oculta, modelado como un problema inverso de render. Este modelo funciona bien para el problema espec´ıfico de reconstrucci´on geom´etrica, pero est´a limitado a superficies difusas y solo tiene en cuenta interreflexiones entre superficies. Con el mismo objetivo, Keller et al. [KOKP07, KK09] desarrollaron un simulador de un sensor time-of-flight acelerado por hardware, que permite generar im´agenes con resoluci´on temporal, incluyendo diferentes artefactos que pudieran aparecer en los sensores time-of-flight. Este trabajo, sin embargo, solo permite simular iluminaci´on directa, y no puede generar animaciones generales con resoluci´on temporal. Todos estos trabajos se centran en desarrollar modelos directos de transporte de luz para problemas espec´ıficos; por tanto ninguno se centra en el an´alisis de transporte de luz transitorio y no exploran como se comportan las diferentes estrategias de render cuando se incluye el dominio temporal. Adem´as, est´an centrados en simulaciones para transporte de luz entre superficies, sin ning´un tipo de medio participativo entre ellas. D’Eon e Irving [DI11] derivan su modelo estacionario de Quantized Diffusion para subsurface scattering, bas´andose en el extenso trabajo previo existente en difusi´on resuelta en tiempo. Sin embargo, este trabajo est´a basado en explotar informaci´on del transporte de luz en el dominio temporal para aplicarlo ´unicamente a soluciones en estado estacionario, y considerando solo 5 6Cap´ıtulo 2 – Trabajo Relacionado medios participativos con alta densidad ´optica. Nosotros analizamos el transporte de luz en estado transitorio sin restricciones en las propiedades del medio y considerando su investigaci´on tanto para soluciones estacionarias como transitorias. Comenzar por una simplificaci´on matem´atica en 2D y extender seguidamente las derivaciones a 3D ha demostrado ser una estrategia apropiada para analizar el transporte del luz en el dominio primal [LALD12], gradiente [RMB07], Hessiano [JSKJ12] y en el de frecuencias [DHS+05, MWRD13, BSS+13], proporcionando un mejor entendimiento del transporte de luz y mejorando significativamente la eficiencia en render. En este contexto, Jarosz et al. [JSKJ12] derivaron una teor´ıa autocontenida y consistente del transporte de luz en 2D a trav´es del vac´ıo que cumple los principios de conservaci´on energ´etica. Demuestran que este enfoque ayuda a visualizar intuitivamente el transporte de luz, reduce la complejidad matem´atica y proporciona un entorno que permite experimentar de forma f´acil y eficiente usando c´alculos de transporte de luz en 2D. Todos los trabajos mencionados asumen velocidad de la luz finita, ignorando el dominio temporal en si propagaci´on, y ´unicamente considerando dispersi´on entre superficies, asumiendo que la luz se propaga en el vac´ıo, por lo que nosotros proponemos una extensi´on que incluye propagaci´on de la luz en el dominio temporal e incluyendo medios participativos. Cap´ıtulo 3 Teor´ıa de Transporte de Luz El render basado en f´ısica simula el transporte de luz en una escena del mismo modo que sucede en el mundo real, y lo sintetiza en una imagen. Un haz de luz alcanzando una regi´on del espacio distinta del vac´ıo interactuar´a con mol´eculas de materia que pueden alterar su comportamiento de diferentes maneras (Figura 3.1). Cualquier medio (entendiendo medio como materia en cualquier estado s´olido, l´ıquido o gaseoso) interact´ua con la luz cuando pasa a trav´es de ´el. Dado que la luz es en realidad radiaci´on electromagn´etica, la transferencia de energ´ıa al propagarse la luz en un medio que absorbe, emite o dispersa luz est´a modelada por la Teor´ıa de Transferencia Radiativa (Radiance Transfer Theory) [Cha60] (Secci´on 3.2). Sin embargo, en los gr´aficos por ordenador, normalmente necesitamos hacer simplificaciones sobre los modelos existentes—que son a veces simplificaciones en s´ı mismos— con el objetivo de obtener soluciones pr´acticas. La importancia de los efectos de absorci´on y dispersi´on depende de la naturaleza de la materia. Algunos medios como los metales o la piedra evitan que la mayor parte de la luz penetre en ellos, as´ı que los efectos de dispersi´on suelen ser insignificantes y pueden ser ignorados. Estos casos especiales est´an presentes en el mundo real, y pueden ser representados con modelos simplificados que todav´ıa proporcionen resultados con precisi´on f´ısica. Se les conoce como medios no participativos y se asume que el transporte de luz ocurre ´unicamente en la superficie, en contraste con los medios participativos en los que el transporte de luz ocurre en todo su volumen. El transporte de luz en medios no participativos est´a modelado por la Ecuaci´on de Render (Secci´on 3.1) y en medios participativos por la Ecuaci´on de Transferencia Figura 3.1: Materia interactuando con la luz. La luz viaja libremente a trav´es del vac´ıo hasta que entra en una regi´on con materia, y podr´a ser absorbida (1), dispersada (2) o reflejada (3). 7 8Cap´ıtulo 3 – Teor´ıa de Transporte de Luz (a) Iluminaci´on local (b) Iluminaci´on global Figura 3.2: La iluminaci´on local solo tiene en cuenta luz directa, mientras que la iluminaci´on global tambi´en calcula luz indirecta proveniente de otros puntos en la escena. Radiativa (RTE, Secci´on 3.2). De aqu´ı en adelante, por cuestiones de brevedad y a menos que se indique lo contrario, cada menci´on en este documento del t´ermino “medio” se refiere a “medio participativo”. La interacci´on de luz directa incidente en un punto de una superficie o un medio est´a definido por las propiedades locales de esa superficie o medio en ese punto, lo que en gr´aficos por computador se denomina iluminaci´on local (Figura 3.2a). Sin embargo, esta luz incidente puede ser absorbida, dispersada y/o transmitida por la superficie o medio, alcanzando otros lugares en la escena. Tener en cuenta este comportamiento al renderizar una escena conduce a modelos de iluminaci´on global (Figure 3.2b). Para representar f´ısicamente una escena se requiere un modelo completo de iluminaci´on global. Esto conlleva un proceso infinitamente recursivo en el que superficies y medios dispersan luz sobre otras superficies y medios, repiti´endose el proceso indefinidamente. 3.1. La Ecuaci´on de Render Al proceso de calcular iluminaci´on en un punto se le conoce como shading y depende en gran medida en si estamos utilizando un modelo de iluminaci´on global o local. Para calcular la iluminaci´on global en un medio no participativo, podemos asumir que el transporte de luz ocurre ´unicamente en los l´ımites de la materia, y puede ser modelado integrando la luz proveniente de cualquier direcci´on alrededor de un punto en una superficie. Este problema fue formulado por Kajiya [Kaj86] como una ´unica integral, la Ecuaci´on de Render (Ecuaci´on 3.1), que modela el transporte de luz entre superficies de objetos en t´erminos de radiancia saliente Lr(x, �ω o)enunpuntoxcon direcci´on �ω : Lr(x, �ω o)=Le(x, �ω o)+�Ω fr(x, �ω i,�ω o)L(x, �ω i)(�n·�ω i)d�ω i(3.1) Leindica luz que es emitida por la superficie (p. ej. incandescencia). El segundo t´ermino integra la radiancia L(x, �ω i) en todas las direcciones entrantes �ω isobre el hemisferio alrededor del punto x. El t´ermino frest´a modelado por lo que se denomina Bidirectional Reflectance Distribution Function (BRDF), e indica cu´anta de la luz incidente en xcon direcci´on �ω ies reflejada hacia �ω o. Cap´ıtulo 3 – Teor´ıa de Transporte de Luz 9 Figura 3.3: Diferentes modelos de BRDFs mostrando reflexi´on Lambertiana (izquierda), una reflexi´on muy direccional t´ıpica de superficies brillantes (centro), y reflexi´on perfectamente especular (derecha). Las BRDFs est´an por definici´on normalizadas (i.e. �Ωfr(x, �ω i,�ω o)d�ω i≤1) y tendr´an diferente comportamiento dependiendo de las propiedades de la superficie. Ejemplos de diferentes BRDFs se muestran en la Figura 3.3. El producto escalar del ´ultimo termino dentro de la integral tiene en cuenta un factor geom´etrico entre la direcci´on de la luz incidente y la normal de la superficie �nen x. Resolver anal´ıticamente esta ecuaci´on es imposible dado que cada punto de la escena est´a rodeado de geometr´ıa arbitraria. En la ´ultima secci´on del cap´ıtulo se explican las bases de los algoritmos m´as comunes que aproximan esta ecuaci´on. 3.2. Transferencia Radiativa La Ecuaci´on de Render original solo tiene en cuenta interreflexiones entre superficies, pero como se ha mencionado antes, para obtener un render f´ısicamente preciso de una escena, tambi´en tenemos que tener en cuenta cualquier medio participativo existente. Una regi´on de la escena es considerada como medio participativo si los efectos de absorci´on y dispersi´on de la luz dentro de esa regi´on son significativos (Figura 1.2b). La absorci´on modela el efecto de p´erdida de energ´ıa durante el paso de la luz a trav´es de un medio. La dispersi´on modela el efecto de desviaci´on de la trayectoria de la luz. Podemos imaginar un medio como un conjunto infinito de peque˜nas part´ıculas que al paso de la luz interact´uan con ella y pueden absorber su energ´ıa o cambiar su direcci´on de propagaci´on. Los efectos de la luz atravesando un medio son modelados por la Ecuaci´on de Transferencia Radiativa [Cha60], que describe el cambio diferencial de energ´ıa sufrido por la luz al viajar un paso diferencial en su direcci´on de propagaci´on. Este cambio incluye tanto p´erdida como incremento de energ´ıa. Un medio en s´ı mismo puede emitir luz (Figura 3.5b, p. ej. una vela), produciendo un incremento de energ´ıa Le. Por otro lado, la absorci´on y la dispersi´on producen p´erdida de energ´ıa en la direcci´on de propagaci´on. La absorci´on aten´ua la luz (Figura 3.5a) convirti´endola en otros tipos de energ´ıa. La dispersi´on desv´ıa la luz en otras direcciones, lo que en consecuencia produce una p´erdida de energ´ıa en la direcci´on en la que la luz viaja, un efecto propiamente denominado dispersi´on saliente (Figura 3.5c). La dispersi´on y absorci´on de un medio son representados respectivamente por los coeficientes de dispersi´on σs(x) y absorci´on σa(x) en cada punto xdel medio. Estos coeficientes dependen del medio, y ambos est´an modelados como cambios proporcionales a la radiancia incidente L por paso diferencial. La naturaleza de estos coeficientes proviene de dos factores: las secciones eficaces de dispersi´on/absorci´on (κsyκa) y la concentraci´on de part´ıculas C, siendo σs=Cκs (igual para la absorci´on). En f´ısica, una secci´on eficaz cuantifica la probabilidad de que ocurra cierta interacci´on part´ıcula-part´ıcula, y puede ser imaginada como la proyecci´on de el volumen 3D de una part´ıcula sobre un paso diferencial. As´ı pues, la secci´on eficaz corresponde a un ´area (unidades m2, ver Figura 3.4a), y en el caso de transporte de luz en un medio, esta interacci´on puede entenderse como luz interactuando con una part´ıcula en el medio. La concentraci´on de 10 Cap´ıtulo 3 – Teor´ıa de Transporte de Luz part´ıculas Ces medida como densidad de part´ıculas por espacio tridimensional, i.e. por volumen 3D (m−3). En consecuencia el coeficiente de dispersi´on (o absorci´on) tendr´a unidades m−1. Dado que ambos coeficientes son modelados de manera similar con iguales unidades f´ısicas, se pueden unir en lo que se denomina coeficiente de extinci´on σt(x)=σa(x)+σs(x). (a) Secci´on eficaz de dispersi´on de una part´ıcula (b) Derivaci´on del coeficiente de dispersi´on Figura 3.4: Derivaci´on del coeficiente de dispersi´on σs. El coeficiente de absorci´on σase deriva de forma an´aloga. La luz absorbida (Figura 3.5a) se transforma en otros tipos de energ´ıa, por ejemplo calor, y se considera perdida. Pero, ¿a d´onde va la luz dispersada? La luz dispersada es desviada hacia otras direcciones, y alcanza otros puntos del medio. As´ı que cuando definimos un cambio de energ´ıa en un punto xtambi´en tenemos que tener en cuenta la luz que puede ser dispersada desde otros puntos del medio y que llegue a x. Este fen´omeno es conocido como dispersi´on entrante (Figura 3.5d) y produce un incremento de energ´ıa en la direcci´on en la que viaja la luz. La dispersi´on entrante puede provenir de cualquier direcci´on alrededor de x. Al igual que en el caso de superficies, donde la luz proveniente de direcciones hemisf´ericas debe ser recolectada, en un punto dentro de un medio toda la luz proveniente de dispersi´on entrante debe ser recolectada en todas las direcciones esf´ericas. Pero, ¿cu´anta de la luz incidente en un punto se dispersa en cada direcci´on? Cuando la luz en un medio llega a un punto, puede ser dispersada en muchas direcciones alrededor de ese punto. La cantidad de luz dispersada a una direcci´on arbitraria no es siempre uniforme, y est´a determinada por la denominada funci´on de fase ρ(x, �ω i,�ω o). Una funci´on de fase define cu´anta luz que entra en un punto xdesde la direcci´on �ω ies dispersada en una direcci´on saliente �ω o, y depende de la naturaleza del medio. De este modo un medio puede presentar dispersi´on isotr´opica, backward o forward. Los medios isotr´opicos son un caso ideal inexistente en el mundo real, pero representan un caso de estudio de utilidad para observar su comportamiento en render. La luz dispersada en un medio con dispersi´on backward tender´a a tener direcciones salientes opuestas a la direcci´on entrante. Al contrario, si un medio presenta m´as dispersi´on forward, la luz dispersada tender´a a (a) Absorci´on (b) Emisi´on (c) Dispersi´on saliente (d) Dispersi´on entrante Figura 3.5: Efectos de un medio. La luz viajando a trav´es de un medio puede interactuar produciendo cuatro tipos de efectos: absorci´on, emisi´on, dispersi´on entrante y dispersi´on saliente. Cap´ıtulo 3 – Teor´ıa de Transporte de Luz 11 Figura 3.6: Integraci´on de la luz acumulada por un rayo atravesando de un medio, descrita por la Ecuaci´on 3.3. seguir direcciones salientes similares a la entrante. Las funciones de fase est´an definidas como distribuciones de probabilidad y en consecuencia est´an normalizadas. Volviendo a la integraci´on de la dispersi´on entrante, dado un punto xen un medio y la luz L(x, �ω i) proveniente de �ω i, la parte proporcional de esa luz que es dispersada en ese punto est´a definida por σs(x)L(x, �ω i). Adem´as, si queremos saber cu´anta de esa luz dispersada sale en la direcci´on �ω o, debemos multiplicarla por la funci´on de fase ρ(x, �ω i,�ω o) del medio. Integrando todas las direcciones en la esfera alrededor de xtendremos, Li(x, �ω o)=σs(x)�Ω4π ρ(x, �ω i,�ω o)L(x, �ω i)d�ω i(3.2) representando la dispersi´on entrante en un punto xdel medio. Podemos separar σs(x) fuera de la integral ya que solo depende de la posici´on. N´otese c´omo Ecuaci´on 3.2 se parece al t´ermino integral de la Ecuaci´on de Render (Ecuaci´on 3.1). De forma similar, el primero integra la luz en todas las direcciones esf´ericas alrededor de un punto de un medio, y el segundo integra todas las direcciones hemisf´ericas alrededor de un punto en una superficie. En realidad, existe una correspondencia directa entre la funci´on de fase ρ(x, �ω i,�ω o)deunmedioylaBRDF fr(x, �ω i,�ω o) de una superficie. Mientras que la RTE est´a definida en forma diferencial (ver [Cha60] para m´as informaci´on), cuando renderizamos una escena normalmente queremos saber la luz que observa un rayo intersectando una superficie en la escena (o alcanzando un l´ımite de escena). Si hay alg´un medio entre el punto de intersecci´on (o l´ımite) y el punto de vista, hay que tener en cuenta toda la luz incidente en el rayo y dispersada hacia el punto de vista (Figura 3.6). Esto requiere resolver la RTE para un intervalo finito [s0,s 1]. Asumiendo medios no emisivos por simplicidad, la forma integral de la RTE est´a definida por la luz proveniente de dispersi´on entrante (Ecuaci´on 3.2), y la luz reflejada desde la superficie m´as cercana L(xp,�ω o). Por ello la forma integral de la RTE es: L(x, �ω o)=Tr(x↔xp)Lr(xp,�ω o)+�s1 s0 Tr(x↔xs)Li(xs,�ω o)ds(3.3) Cap´ıtulo 5 Transporte de Luz en 2D Como hemos observado, la teor´ıa de transporte de luz est´a formulada para un espacio tridimensional ya que modela lo que pasa en el mundo real. Sin embargo, cuando representamos estos modelos mediante un ordenador, reducir la dimensionalidad del problema es una estrategia ´util que proporciona mejor entendimiento y reduce la complejidad de los c´alculos. En particular, cuando modelamos el transporte de luz en una escena, reducir la dimensionalidad espacial a 2D simplifica las formulaciones y permite prototipar y representar de manera mucho m´as intuitiva los casos de estudio simples. Como se menciona en el Cap´ıtulo 4, uno de los principales objetivos de este proyecto es analizar el transporte de luz en estado transitorio, que esencialmente consiste en incluir el tiempo de propagaci´on de la luz en la escena como una dimensi´on adicional ten la teor´ıa de transporte de luz. Una de las principales ventajas es la existencia de ortogonalidad entre la adaptaci´on a 2D y el transporte de luz transitorio. Esto es posible debido a que el transporte de luz transitorio principalmente conlleva computar tiempo en caminos unidimensionales de luz, que est´an presentes tanto en espacios 3D como 2D. Sin embargo, el incremento de dimensionalidad debido a la inclusi´on del tiempo hace pr´acticamente imposible realizar un an´alisis del transporte de luz en condiciones si consideramos un mundo 3D. La proyecci´on de una escena 3D mediante una c´amara se convierte en una imagen 2D (Figura 5.1a). Si a˜nadimos la dimensi´on temporal, (a) Proyecci´on 3D (b) Proyecci´on 2D Figura 5.1: La proyecci´on de una c´amara visualizando una escena 3D (a) se convierte en una imagen 2D, mientras que en el caso de una escena 2D (b) se convierte en una imagen 1D 19 20 Cap´ıtulo 5 – Transporte de Luz en 2D tenemos que representarla mediante un v´ıdeo, que puede ser una manera atractiva de visualizar una escena, pero no permite observar variaciones temporales de manera r´apida e intuitiva. Por el contrario, una proyecci´on de un mundo 2D se convierte en una imagen 1D con una ´unica fila de pixels (Figura 5.1b), por lo que podemos representar el tiempo en la dimensi´on sobrante de la imagen. En el Cap´ıtulo 8 se explica otro sistema de representaci´on adicional que ha sido requerido para visualizar las escenas 2D. Para renderizar una escena y definir el transporte de luz en 2D, necesitamos definir equivalencias 3D tanto geom´etricas como radiom´etricas para un mundo 2D. En geometr´ıa, las primitivas 3D tienen sus equivalencias en 2D con definiciones m´as simples, y las intersecciones rayo-primitiva—una de las operaciones m´as repetidas en render—normalmente tienen ecuaciones mucho m´as simples en 2D, reduciendo significantemente los costes. En radiometr´ıa, la integraci´on de la luz sobre direcciones esf´ericas o hemisf´ericas 3D se convierte en la integraci´on de c´ırculos y semic´ırculos en 2D, requeriendo un menor n´umero de muestras para alcanzar m´as convergencia en los resultados. Las unidades radiom´etricas y definiciones tambi´en deben ser reconsideradas. Se puede encontrar un modelo radiom´etrico formalizado en 2D por Jarosz et al. en [JSKJ12] (Figura 5.2), definido dentro de un mundo 2D auto-contenido donde todas las interacciones de luz ocurren dentro de ´el, y no como una secci´on plana extra´ıda de un mundo 3D. Aunque parte de este modelo es igualmente v´alido para medios participativos, est´a principalmente orientado al transporte de luz en free-space, i.e. interreflexiones entre superficies a trav´es del vac´ıo. Este cap´ıtulo hace una explicaci´on del modelo radiom´etrico 2D de Jarosz et. al, centr´andose en los principales aspectos que se han tenido en cuenta en este proyecto, y lo extiende para incluir consideraciones extra relacionadas con medios participativos. 5.1. Geometr´ıa La consecuencia m´as evidente al reducir la dimensionalidad espacial a 2D es el cambio en primitivas geom´etricas. En t´erminos generales las superficies se convierten en curvas, y los pol´ıgonos se convierten en l´ıneas rectas. Como se ha mencionado antes, las intersecciones rayoprimitiva son una de las operaciones m´as repetidas en render, y son en general resueltas por sistemas de ecuaciones. Migrar de un espacio {x, y, z}a un espacio {x, y}reduce el n´umero de 125:4 •W. Jarosz et al. (a) 3D Flux (b) 3D Irradiance (c) 3D Radiance (d) 2D Flux (e) 2D Irradiance (f) 2D Radiance Fig. 1. Comparison of radiometric quantities in 3D (left) and 2D (right). Flux measures the amount of light that hits a finite surface area (3D) or arc-length (2D) from all directions, irradiance integrates the light arriving at a single point over the whole hemisphere (3D) or hemicircle (2D), and radiance expresses the amount of light arriving at or leaving a single point from a differential solid (3D) or plane angle (2D). Table I. Radiometric Quantities in 2D and 3D 3D 2D Quantity Symbol Expression Units Expression Units Spectral Radiant Energy QλQλ=nλhc λJQλ=nλhc λJ Radiant Energy QQ=!∞ 0QλdλJQ=!∞ 0QλdλJ Flux "" 3D(A)=dQ(A) dt W=J·s−1"2D(L)=dQ(L) dt W=J·s−1 Irradiance EE 3D(x)=d"3D(A) da(x)W·m−2E2D(x)=d"2D(L) dl(x)W·m−1 Radiosity BB 3D(x)=d"3D(A) da(x)W·m−2B2D(x)=d"2D(L) dl(x)W·m−1 Radiance LL 3D(x,#ω)=d2"3D(A) (# n·#ω)+d#ωda(x)W·m−2·sr−1L2D(x,θ)=d2"2D(L) cos θdθdl(x)W·m−1·rad−1 where h≈6.626068 ×10−34 J·s is Planck’s constant, and cis the speed of light. We assume the speed of light in 2D is the same as in a 3D world (c=299,792,458 m/s in a vacuum); hence, the energy of a single photon is expressed in units of joules [J] in either domain. Radiometry is the field that studies the measurement of electromagnetic radiation. Conceptually, all the remaining radiometric quantities are derived off of the basic principle of “counting” or measuring photons. Spectral Radiant Energy. A collection of nλphotons of the same wavelength λcarry a combined spectral radiant energy which is the sum of their individual energies: Qλ=nλeλ=nλ hc λ.(2) Spectral radiant energy always refers to the energy of a particular wavelength of light. Radiant Energy. The radiometric quantities we deal with in graphics are spectral in nature; however, for convenience, we often opt to drop the dependence on wavelength for simplicity. To accomplish this, we can introduce the radiant energy, which is the total energy associated with a collection of photons of all wavelengths. This is computed by integrating the spectral radiant energy over all possible wavelengths: Q="∞ 0 Qλdλ.(3) We base the remaining radiometric quantities off of radiant energy. Strictly speaking, Eq. (3) changes the radiometric units, but in graphics we typically drop the dependence on wavelength as a notational convenience and ignore this technicality. Alternatively, each of the subsequent quantities can be interpreted as being independently defined for each wavelength of light. Radiant Power/Flux. Radiant power or flux is the differential radiant energy per unit time. "=dQ dt (4) In terms of units, flux is identical in the 2D and 3D domains and is expressed in watts [W =J·s−1]. However, the concept of flux has a slightly different meaning in these two domains. In 3D, flux is the time rate of energy flowing from/into/through some surface A: "3D(A)=dQ(A) dt .(5) Effectively, it is a measure of the number of photons arriving at or leaving a surface per unit time (see Figure 1(a)). For example, we can refer to the total power incident on a wall or table, or that an area light source emits 50 watts of radiant power. Hence, to talk about flux in 3D we always need to refer to a surface. This means that, in 3D, flux is a function defined over surfaces, A. In 2D, flux is also a measure of the number of photons flowing from/into/through an object, but since objects in 2D are defined using curves, flux is defined over some curve L(see Figure 1(d)): "2D(L)=dQ(L) dt .(6) Hence, in a 2D environment we can refer to the total flux incident upon a particular curve, or the total flux incident upon all curves in a scene. This subtle distinction implies that the dimensionality of these two functions is different, even though the units of the value of the functions are the same. ACM Transactions on Graphics, Vol. 31, No. 5, Article 125, Publication date: August 2012. Figura 5.2: Equivalencias de unidades radiom´etricas para 2D y 3D extra´ıdas de [JSKJ12]. Esta tabla se muestra ´unicamente por completitud, y la notaci´on de este proyecto puede diferir ligeramente. Cap´ıtulo 5 – Transporte de Luz en 2D 21 ecuaciones requeridas para resolver estas operaciones y en consecuencia el n´umero de c´omputos. Muchas de las primitivas geom´etricas no son s´olo usadas para geometr´ıa visible. Algunas estructuras de datos no-visibles utilizan esferas, cilindros o cajas, que en 2D se convierten en simples c´ırculos y rect´angulos con costes de intersecci´on mucho menores. Los costes de memoria tambi´en se reducen ya que ´unicamente se necesitan guardar pares de coordenadas {x, y}para v´ertices, posiciones o vectores, y parametrizar un vector 3D mediante ´angulos {φ,θ}se reduce a un ´unico ´angulo θen 2D. 5.2. Radiometr´ıa en superficies La reflexi´on de luz en una superficie est´a caracterizada por la BRDF de la superficie (ver Cap´ıtulo 3 para m´as detalles). Dado que una BRDF define como se refleja la luz alrededor de un punto, la versi´on 2D de una BRDF define esta reflexi´on alrededor de un semic´ırculo en vez de el habitual hemisferio 3D. Las BRDFs est´an por definicion normalizadas, lo que significa que la integral alrededor del semic´ırculo debe ser igual o menor que 1. Si pretendemos definir el equivalente 2D de una BRDF debemos asegurar que est´a normalizado. Si no es as´ı no se garantiza conservaci´on de la energ´ıa en los c´alculos, ya que la cantidad de luz reflejada por una superficie podr´ıa ser mayor que la incidente, llevando a calculos energ´eticamente inconsistentes. Una de las BRDFs m´as comunes es la BRDF Lambertiana, que simula una superficie reflejando la luz incidente en todas las direcciones uniformemente, i.e. fr=1 sin normalizaci´on. Con este valor, la integral �Ωfrcos(�ω ,�n)d�ω sobre el semic´ırculo es igual a 2 y sobre un hemisferio es igual a π, que en consecuencia se convierten en los factores de normalizaci´on teniendo fr3D=1 π yfr2D=1 2. Otros modelos proporcionan BRDFs mucho m´as complejas como los modelos de Blinn-Phong o Ward. La normalizaci´on 2D de estas BRDFs no es trivial y a veces es imposible de computar anal´ıticamente. Dado que este proyecto se centra en medios participativos, hemos elegido representar ´unicamente modelos simples de BRDFs. Por otro lado, integrar la luz incidente en una punto de una superficie se reduce de un hemisferio a un semic´ırculo, con lo que los algoritmos estoc´asticos habituales necesitan de un n´umero mucho menor de muestras para converger. 5.3. Radiometr´ıa en medios participativos Los medios participativos cubren la mayor parte de este proyecto y por ello hemos prestado especial importancia en adaptar la radiometr´ıa a 2D, incluyendo consideraciones sobre la integraci´on de dispersi´on, normalizaci´on de funciones de fase y derivaci´on de coeficientes de dispersi´on y absorci´on en un mundo 2D. Estas consideraciones suponen una contribuci´on al modelo radiom´etrico formalizado de Jarosz et al. previamente mencionado. La luz incidente alrededor de un punto xen un medio requiere de la integraci´on de todas las direcciones esf´ericas en 3D, parametrizadas por dos ´angulos φyθ(Figura 5.3, izquierda). El equivalente 2D se convierte en direcciones circulares alrededor de x, parametrizado ahora por un ´unico ´angulo θ(Figura 5.3, derecha). De nuevo, esta reducci´on de dimensionalidad permite utilizar un menor numero de muestras para obtener buenos resultados, y disminuye los costes de c´alculo y memoria. 22 Cap´ıtulo 5 – Transporte de Luz en 2D Figura 5.3: Parametrizaci´on mediante ´angulos de direcci´on de la dispersi´on entrante para 3D (izquierda) y 2D (derecha). 5.3.1. Funciones de fase La funci´on de fase define la distribuci´on de la luz que se dispersa hacia otras direcciones en un punto xdentro de un medio. Est´a definida como una funci´on de distribuci´on de probabilidad, y por ello su integral sobre las direcciones alrededor de xdebe ser 1. En el caso de 2D, esta integral se debe calcular sobre todas las direcciones esf´ericas. De manera similar a la integraci´on de BRDFs, si no garantizamos esto, podr´ıa llevar a modelos energ´eticamente inconsistentes que dispersar´ıan m´as luz de la que llega. Uno de los modelos m´as usados es la funci´on de fase Henyey-Greenstein [HG41]. Originalmente definida en 3D (Ecuaci´on 5.1), la relaci´on entre la direcci´on entrante y la saliente es parametrizada por dos ´angulos φyθ. Dado que es una funci´on sim´etrica alrededor de uno de los dos ejes, su ecuaci´on solo depende de uno de los ´angulos θ. El par´ametro grepresenta el valor medio del coseno cos(θ) entre la direcci´on entrante y todas las direcciones salientes, y define la direccionalidad de la funci´on de fase. En este proyecto se ha comprobado la normalizaci´on de una versi´on 2D de esta funci´on [Dav06], y se ha utilizado para representar diferentes distribuciones de dispersi´on en 2D. ρ(θ,g)= 1 4π 1−g2 (1 + g2−2 cos θ)3/2(versi´on 3D) (5.1) ρ(θ,g)= 1 2π 1−g2 1+g2−2 cos θ(versi´on 2D) (5.2) Obs´ervese c´omo la Ecuaci´on 5.2 no incluye la razonablemente costosa operaci´on de potencia. Esto reduce los costes computacionales, dado que en los algoritmos de render la funci´on de fase es aplicada en cada evento de dispersi´on, llegando a tener cientos de miles de eventos de dispersi´on durante la generaci´on de una imagen. 5.3.2. Coeficientes de dispersi´on y absorci´on Como se explic´o en la Secci´on 3.2, los coeficientes de dispersi´on σsy absorci´on σadefinen el cambio proporcional de radiancia que se dispersa o absorbe en un paso diferencial. Para trasladar esto a 2D, debemos definir los equivalentes 2D de las secciones efectivas (κsyκa)yde la concentraci´on de part´ıculas C. Una secci´on efectiva ser´a definida ahora como la proyecci´on de una part´ıcula 2D sobre un paso diferencial (Figura 5.4a), convirti´endose en una longitud (m1), que es de hecho el equivalente 2D de una secci´on efectiva en 3D (´area). La concentraci´on de part´ıculas ahora ser´a una densidad de part´ıculas por espacio bidimensional, i.e. por ´area 2D m−2, que es el equivalente 2D de un volumen 3D. Finalmente, calculando el equivalente 2D del coeficiente de dispersi´on (o de absorci´on) como σs=Cκstendremos que el coeficiente de Cap´ıtulo 5 – Transporte de Luz en 2D 23 (a) La secci´on efectiva en 2D corresponde a una longitud m1 (b) Multiplicando la densidad de part´ıculas por la secci´on efectiva tenemos que σs=Cκsm−1coincidiendo con la definici´on original de coeficientes de dispersi´on y absorci´on en 3D. Figura 5.4: Derivaci´on del coeficiente de dispersi´on σsen 2D. El coeficiente de absorci´on σase deriva de manera an´aloga. dispersi´on sigue estando definido por longitud, coincidiendo con la naturaleza original de los coeficientes en 3D. Esto puede parecer una conclusi´on trivial, pero muestra que el modelo 3D de transporte de luz es igualmente adaptable a 2D sin perder significado. Cap´ıtulo 6 Photon Beams Como se menciona al final del Cap´ıtulo 3, para calcular la iluminaci´on global en una escena debemos proporcionar soluciones num´ericas que resuelvan tanto la Ecuaci´on de Render (Ecuaci´on 3.1) como la RTE (Ecuaci´on 3.3). Photon Beams [JNSJ11] es un algoritmo para calcular iluminaci´on global en medios participativos basado en el algoritmo Photon Mapping [Jen01]. Ambos resuelven de manera aproximada la Ecuaci´on de Render y la RTE utilizando integraci´on por Monte Carlo, y son algoritmos de dos pasadas. En la primera pasada, la escena es preprocesada para computar la distribuci´on de luz en superficies y medios de la escena. Esta tarea se hace lanzando peque˜nos paquetes de energ´ıa (llamados fotones1) desde las fuentes de luz. Por medio de un proceso estoc´astico de Monte Carlo, estos fotones son trazados a trav´es de la escena, y dispersados y absorbidos por la materia, produciendo un proceso de camino aleatorio. Estos fotones son almacenados en diferentes posiciones de la escena en lo que se denomina mapa de fotones. En un segundo paso, se trazan rayos desde el punto de vista para calcular informaci´on de radiancia en el mapa de fotones. Alcanzar un fot´on en el mapa es estad´ısticamente imposible—ya que son puntos adimensionales—, as´ı que para calcular radiancia en un punto de la escena se asume localidad espacial en un volumen o ´area alrededor de cada fot´on. Esto equivale a realizar una estimaci´on de densidad en cada punto de la escena alcanzado por los rayos del punto de vista. Los caminos aleatorios introducen varianza en el proceso, pero debido a las estimaciones de densidad, esta varianza es reducida y transformada en bias (i.e. un sesgo entre el valor calculado y el esperado), de forma que los resultados no muestran la soluci´on correcta. Sin embargo, con un n´umero infinito de fotones el resultado converger´ıa a la soluci´on correcta, por lo que los algoritmos basados en esta t´ecnica son consistentes. Podemos comparar los algoritmos basados en fotones con algoritmos basados en Path Tracing [Kaj86], como Bidirectional Path Tracing [LW93] o Metropolis Light Transport [VG97]. Estos algoritmos tambi´en est´an basados en un proceso de caminos aleatorios donde los caminos se trazan desde las luces y desde el punto de vista. Sin embargo, no realizan estimaciones de densidad, por lo que estos caminos aleatorios provocan varianza en los resultados (vista como ruido en la imagen final). Adem´as, estos tipos de algoritmos fallan a la hora de calcular caminos de luz de alta frecuencia como las c´austicas, que son muy dif´ıciles o incluso imposibles de encontrar cuando se trazan caminos desde el punto de vista. Por el contrario, los algoritmos basados en fotones son buenos calculando estos caminos de alta frecuencia. No obstante, existe un importante compromiso entre bias y varianza, y dependiendo de la naturaleza de los resultados que queramos obtener, elegiremos un tipo de algoritmo u otro. 1Mencionar que estos fotones no representan part´ıculas cu´anticas, sino peque˜nos paquetes de energ´ıa proporcional a la emisi´on de la fuente luz. 25 26 Cap´ıtulo 6 – Photon Beams (a) Los fotones son trazados desde la luz contra la escena y pueden interactuar con una superficie (3), un medio (1) o perderse (2). El comportamiento despu´es de una interacci´on depender´a de las propiedades de la materia. (b) Estimaci´on de radiancia con fotones sobre el mapa resultante. Se buscan fotones alrededor de cada punto en las superficies (2) o alrededor de cada rayo que atraviese un medio (1), y se computa la estimaci´on de radiancia hacia el punto de vista. Figura 6.1: Esquema del algoritmo Photon Mapping con dos fases: (a) Preproceso, (b) Estimaci´on de radiancia A pesar de que los algoritmos basados en fotones tienen importantes desventajas—principalmente el bias en los resultados y la necesidad de preprocesar la escena—, convergen a soluciones sin ruido mucho m´as r´apido que los algoritmos basados en Path Tracing, especialmente cuando se trabaja con medios participativos. Photon Beams es uno de los ´ultimos avances en investigaci´on desarrollado por Jarosz et al. [JNSJ11], que explota incluso m´as todos los beneficios de los algoritmos basados en fotones. En concreto, incrementa la densidad de informaci´on en la escena guardando informaci´on de la iluminaci´on no solo en puntos discretos de la escena (fotones), sino trayectorias de luz completas (los denominados photon beams o haces de fotones), lo que mejora la convergencia a soluciones con menos bias y varianza. Adem´as, intuitivamente podemos ver que el aumento de cobertura espacial resultado del preproceso incrementa a su vez la cobertura temporal, ya que tiempo y espacio est´an directamente relacionados en el transporte de luz. Este proyecto implementa y modifica el algoritmo Photon Beams,yrealiza dos contribuciones adapt´andolo a 2D y al transporte de luz transitorio. 6.1. Trazado de fotones Tanto en Photon Beams como en Photon Mapping el proceso de trazado es muy similar, y consiste en generar un mapa que represente la distribuci´on de luz en la escena. En primer lugar, un n´umero finito de fotones son lanzados desde las fuentes de luz contra la escena. Estos fotones est´an compuestos por tres caracter´ısticas: posici´on, direcci´on y energ´ıa. Despu´es de que un fot´on ha sido lanzado, puede intersectar con una superficie, alcanzar un medio participativo o perderse si no intersecta con nada (Figura 6.1a). Este trazado se realiza mediante un proceso de Monte Carlo y en cada interacci´on, el fot´on cambiar´a su comportamiento seg´un las propiedades de la materia. En el caso de una superficie, el fot´on puede ser reflejado hacia otra direcci´on y continuar interactuando con la escena, o ser absorbido, par´andose el trazado de ese fot´on. En el Cap´ıtulo 6 – Photon Beams 27 caso de un medio, el fot´on continua una distancia aleatoria, y su energ´ıa se reduce dependiendo de la transmitancia del medio. Entonces es absorbido o dispersado por el medio. Si es absorbido, se para el trazado de ese fot´on. Si es dispersado, se elige una nueva direcci´on aleatoria para ese fot´on y su energ´ıa se reduce por el coeficiente de dispersi´on σsy la funci´on de fase del medio ρ. A este tipo de interacciones con el medio se las conoce como eventos de dispersi´on. En cada interacci´on de un fot´on con la materia, el fot´on se almacena en un mapa de fotones en la posici´on donde ocurri´o la interacci´on, incluyendo su energ´ıa y direcci´on. Cuando el trazado termina, obtenemos un mapa similar al que se ve en la Figura 6.1b. Este mapa de fotones representa una aproximaci´on de la irradiancia en la escena, i.e. la luz incidente en cada posici´on de la escena. M´as detalles sobre el trazado se pueden encontrar en [Jen01]. 6.2. Estimaci´on de radiancia utilizando Photon Mapping Despu´es de obtener el mapa de fotones, para calcular la luz reflejada en un punto xcon una direcci´on �ω (i.e. radiancia), Photon Mapping busca un determinado n´umero de fotones cercanos axy calcula una estimaci´on de densidad [SG86] en el punto. El radio de b´usqueda puede ser constante o adaptativo a n´umero m´ınimo de fotones. Esta estimaci´on de densidad representa una aproximaci´on de la irradiancia en x, traducida como un blur alrededor de puntos en la escena. La radiancia saliente hacia �ω depender´a de la irradiancia y de las propiedades de la materia. Si un rayo atraviesa un medio, la radiancia acumulada por ese rayo se calcula buscando fotones alrededor de ese rayo (Figura 6.1b). Sin embargo, un rayo est´a compuesto por infinitos puntos y es irrealizable calcular un n´umero infinito de estimaciones de radiancia. Photon Mapping discretiza el rayo en un n´umero finito de puntos, y recorre el rayo realizando una estimaci´on de radiancia en cada uno de esos puntos (Figura 6.2a). Acudir a [Jen01] para m´as detalles. Otro enfoque para realizar estimaciones de radiancia en medios participativos es propuesto en [JZJ08]. En este caso, en vez de buscar fotones alrededor de puntos discretizados del rayo, el algoritmo busca el rayo alrededor de cada fot´on (Figura 6.2b). De este modo, cada fot´on tiene su propia contribuci´on sobre el punto m´as cercano del rayo, y la dimensionalidad del blur se reduce a 2D frente al blur 3D previamente explicado. (a) Blur 3D centrado en puntos del rayo [Jen01] (b) Blur 2D centrado en fotones [JZJ08] Figura 6.2: Diferentes estimaciones de radiancia sobre el rayo usando fotones. Photon Mapping (a) acumula radiancia realizando estimaciones de densidad alrededor de puntos del rayo. Jarosz et al. proponen otro enfoque (b), en el que la b´usqueda se centra en fotones alrededor de un disco 2D, por lo que cada fot´on tiene una ´unica contribucion sobre el punto m´as cercano del rayo. 34 Cap´ıtulo 6 – Photon Beams Para calcular las estimaciones de radiancia para cada rayo lanzado desde el punto de vista, se intersecta el rayo contra la estructura de datos del mapa de photon beams, obteniendo los puntos de intersecci´on de cada beam con el rayo (Figura 6.9). Despu´es de eso, se estima la radiancia y se acumula para cada beam usando estos puntos junto con las soluciones anal´ıticas derivadas anteriormente (Ecuaciones 6.7 y 6.8). En el caso de que un rayo intersecte con una superficie, se estima la radiancia en ese punto y se acumula aplicando la extinci´on del medio (si existe). En el Anexo C se puede encontrar un diagrama de clases que describe la estructura del motor de render sobre el que est´a implementado este proyecto. Cap´ıtulo 7 Photon Beams Transitorios En el Cap´ıtulo 6 se ha mostrado que el algoritmo Photon Beams incrementa la densidad de informaci´on espacial dentro de medios participativos, proporcionando una soluci´on pr´actica para renderizar iluminaci´on global. Pero m´as all´a de eso, llenar un medio con photon beams es tambi´en muy adecuado para representar transporte de luz transitorio. El tiempo de propagaci´on de la luz est´a directamente relacionado con las distancias que viaja. Los photon points solo proporcionan informaci´on de irradiancia en puntos discretos de la escena y por tanto en instantes tambi´en discretos, lo que supone una importante desventaja si se usan resoluciones temporales muy peque˜nas. Sin embargo, un photon beam es por definici´on continuo ya que su trayectoria est´a parametrizada por una posici´on, direcci´on y longitud. Esto nos permite ser independientes de la resoluci´on temporal, ya que para cada instante podemos saber exactamente donde est´a un fot´on a lo largo del beam. Para un punto a una distancia sbidel comienzo del photon beam sb0= 0 (Figura 7.1), a un fot´on le costar´a un tiempo ∆t(sb0↔sbi)=ηm csbillegar de sb0asbi(Ecuaci´on 4.2). Sin embargo, un fot´on colocado en xbpuede haber tomado cierto tiempo en llegar hasta ah´ı desde que empez´o a viajar desde la fuente de luz. Esto significa que el tiempo del fot´on al comienzo sb0=0 del photon beam no tiene que ser necesiamente 0. Este valor tb0es calculado durante el proceso de trazado como una acumulaci´on de todas las distancias previas (Figura 7.2). Por ello, para obtener el tiempo total que le cuesta a un fot´on llegar de la fuente de luz a una posici´on dentro de un photon beam a distancia sbidesde el principio, tendremos que tbi=tb0+∆t(sb0↔sbi). Figura 7.1: Un photon beam est´a por definici´on parametrizado, por lo que podemos saber el instante temporal a cualquier distancia sbi. Figura 7.2: A un fot´on en xble costar´a un tiempo tb0=ηm c(s1+s2+s3) llegar hasta all´ı desde que se emiti´o desde la fuente de luz. 35 36 Cap´ıtulo 7 – Photon Beams Transitorios Figura 7.3: La radiancia en sriprocedente de sbitardar´a t=tbi+ηm csrien alcanzar xr. Esto permite representar transporte de luz transitorio con un fot´on viajando a trav´es del espacio y llegando a un punto dentro de su photon beam.Elphoton beam entonces es usado para obtener una estimaci´on de radiancia sobre un rayo. De la misma manera que a un fot´on le cuesta un tiempo viajar a trav´es del espacio, a la radiancia acumulada en un punto de un rayo tambi´en le llevar´a un tiempo viajar desde ese punto hasta el punto de vista (Figura 7.3). Este tiempo no est´a modelado durante el trazado, y se ha de tener en cuenta durante la estimaci´on de radiancia. Sin embargo, este tiempo de rayo puede producir efectos poco intuitivos como el que se muestra en la Figura 7.4, conllevando alteraciones en c´omo visualizamos la propagaci´on de la luz en la escena [VWJ+13]. A estas alteraciones se las denomina camera-warping, y tener en cuenta o no el tiempo de rayo llevar´a a renders camera-warped ocamera-unwarped respectivamente. Elegir un enfoque u otro es una decisi´on de dise˜no que depender´a de c´omo queramos visualizar la escena. Pero, si tenemos en cuenta las distancias sbiysri, ¿por qu´e no contar tambi´en con la distancia skentre sbiysri? La respuesta es simple: esta distancia es producto de la regi´on de b´usqueda de la estimaci´on de radiancia, y no del transporte de luz como tal. Dicho de otro modo, estamos calculando el transporte de luz con una estimaci´on de densidad (radiancia) que es a efectos una aproximaci´on matem´atica, por lo que en realidad estamos modelando la probabilidad de que el transporte de luz ocurra con localidad espacial entre sbiysri(i.e. sk= 0). Utilizando este enfoque podemos modelar blur kernels temporales para los blur kernel espaciales explicados en el Cap´ıtulo 6. Para nuestro principal objetivo (estimaciones de radiancia sobre el rayo) representamos el rango temporal de los blurs espaciales en la Figura 7.5. Como se puede ver, distribuir la radiancia a lo largo del tiempo de manera acorde con el rango espacial solo es posible cuando usamos un blur 2D en un mundo 3D y su equivalente blur 1D en un mundo 2D. Por su naturaleza, el blur 1D de un mundo 3D clacula la estimaci´on de radiancia en base a un ´unico par de puntos en el beam sbyenelrayosr, por lo que no tiene sentido distribuir radiancia a lo largo del tiempo (ya que el tiempo para ese par de puntos es simplemente Figura 7.4: Camera-warping. Distancias de la luz a la superficie son id´enticas sl1=sl2, mientras que las distancias de la superficie al punto de vista son distintas sr1<s r2.Si tenemos el tiempo de rayo en cuenta, veremos que la luz primero llega a x1y despues llegar a x2. Sin embargo, esto no es cierto, ya que la luz llega a la vez η csl1=η csl2a ambos x1yx2. Cap´ıtulo 7 – Photon Beams Transitorios 37 (a) Tiempos de un kernel 2D (in 3D world). (b) Tiempos de un kernel 1D (in 2D world), an´alogos a (a). Figura 7.5: Los tiempos t± b,t ± rse calculan a partir de las distancias s± b,s ± rpara ambos kernels 2D y 1D de mundos 2D y 3D respectivamente. tb+tr). As´ı pues, para los primeros blurs mencionados, podemos derivar el rango de tiempo de propagaci´on (en ingl´es time-of-flight, ToF) en el que se debe distribuir la radiancia: cm=c ηm (velocidad de la luz en el medio) t± b=s± b cm (ToF de la luz para s± b) t± r=s± r cm (ToF de la luz para s± r) t− r<t + r,∆tr=t+ r−t− r t−=t− r+t− b(ToF de la luz total para s− r) t+=t+ r+t+ b(ToF de la luz total para s+ r) Por geometr´ıa, t+=t− r+∆tr � �� � t+ r +t− b+ cos(θb)∆tr � �� � t+ b ∆t=t+−t−= (1 + cos(θb))∆tr as´ı, dependiendo de cos(θb) ∆t∈[0,2∆tr] Obs´ervese que ∆t≈0 cuando el beam viaja mirando hacia el rayo, i.e. cos(θb)≈−1. Esto significa que toda la luz llevada por un photon beam que est´a orientado hacia al punto de vista llega en el mismo instante t−, visible en en los v´ıdeos renderizados (Cap´ıtulo 8) como un flash inicial proveniente de los caminos beam-rayo m´as cortos en el momento que se empieza a ver luz en las escenas. Recordar que las estimaciones de radiancia de cada beam se computan anal´ıticamente. Esto significa que el valor de la radiancia obtenida es el de la radiancia integrada dentro del kernel, y por lo tanto no calculamos la radiancia en cada punto separado de la intersecci´on. Por ello, cuando distribuimos esta radiancia integrada a lo largo del intervalo ∆t, tenemos que elegir una manera de hacerlo. Usando una aproximaci´on simple, podemos distribuirla uniformemente a lo largo de todo el tiempo que le cuesta a la luz viajar a traves de las segmentos de la interseccion entre el rayo y el beam (Figura 7.6b). N´otese que distribuir la radiancia uniformemente incrementa el bias, dado que en realidad en cada instante temporal la luz tiene una extinci´on diferente debido a la distancia viajada a traves del medio. Un trabajo futuro de este proyecto es proporcionar una soluci´on correcta a este problema. 38 Cap´ıtulo 7 – Photon Beams Transitorios Figura 7.6: Kernels de blur temporal. En los gr´aficos de arriba representamos la evoluci´on de un beam en la dimensi´on espacial xy en el tiempo t(los segmentos iniciales y finales se deben a los l´ımites del cilindro). Cuando computamos las estimaciones de radiancia con blurs espaciales, podemos distribuir la radiancia a lo largo del tiempo con diferentes blurs temporales. En (a) no se aplica ning´un blur ∆t= 0, colocando la radiancia en el tiempo medio que le cuesta a un fot´on atravesar la intersecci´on beam-rayo. En (b), el blur en tiempo es dependiente del blur espacial ∆t=f(∆x), y la radiancia se distribuye en tiempos coherentes con la longitud de la intersecci´on beam-rayo. En (c) el blur temporal es independiente del espacio, y simplemente elegimos un intervalo de tiempo constante ∆t=K. Este blur temporal es coherente con el espacial, por lo que su anchura en tiempo es muy dependiente del tama˜no del radio de b´usqueda. Esto puede llegar a ser un problema si el radio de b´usqueda es muy grande comparado con la escala temporal utilizada, lo que se puede traducir en artefactos estructurados visibles en la secuencia de im´agenes obtenida. Esto se puede evitar utilizando un blur temporal independiente del espacio (Figura 7.6c), por ejemplo fijando un rango temporal constante ∆t=K, que es de hecho una operaci´on muy simple que se puede realizar como un post-proceso de la imagen. De nuevo, esto incrementa el bias en los resultados y su uso depender´a de la precisi´on f´ısica que queramos obtener. Cap´ıtulo 8 Resultados Este cap´ıtulo presenta y discute los resultados m´as relevantes que hemos obtenido en este proyecto. Aunque este proyecto se centra en medios participativos, empezamos sentando las bases del transporte de luz transitorio con un ejemplo simple en una escena 2D free-space (i.e. sin medios participativos), analizando los perfiles temporales de radiancia sobre las superficies. Despu´es de esto, presentamos varios ejemplos del transporte de luz en medios participativos usando Photon Beams tanto en escenas 2D como 3D incluyendo: discusi´on de las ventajas e inconvenientes de los diferentes m´etodos de medida, representaci´on del transporte de luz dentro de un medio con geometr´ıa, comparaci´on de diferentes perfiles de radiancia variando las funciones de fase, comparaci´on de proyecciones camera-warped yunwarped, an´alisis de problemas de muestreo en renderizado transitorio comparanado diferentes algoritmos, y comparaci´on de la propagaci´on de la luz con emisiones delta de Dirac o funci´on de escal´on de Heaviside. En el Anexo D se incluyen renders adicionales de este proyecto as´ı como las versiones estacionarias de algunos renders en 3D de esta secci´on. 8.1. Perfiles temporales de radiancia en una escena 2D en freespace A pesar de que esta escena no tiene medios participativos, explicamos este caso simple de estudio en 2D utilizando superficies Lambertianas para introducir el sistema de render de este proyecto y entender las bases del transporte de luz transitorio. Observando los perfiles temporales de radiancia (Figura 8.1b), podemos ver que la radiancia verde crece hacia la derecha, ya que las partes m´as a la derecha del muro est´an m´as lejos del sensor, y los rebotes de luz llegan m´as tarde. Por el contrario, dada la posici´on de la bola, la radiancia roja es sim´etrica respecto al centro del sensor. Podemos tomar el perfil temporal en un ´unico punto del sensor (l´ıneas amarillas) y mostrarlo en gr´aficas radiancia-tiempo (Figura 8.1c). En la gr´afica de la izquierda odemos ver una funci´on delta representando el frente de onda principal mostrado. Para rebotes de m´as orden, los perfiles temporales de radiancia son mucho m´as suaves, principalmente porque en cada rebote, la radiancia se convoluciona con los t´erminos geometricos en el dominio temporal. 39 40 Cap´ıtulo 8 – Resultados Figura 8.1: En (a) vemos una representaci´on esquem´atica de una escena 2D, con una luz blanca en el centro emitiendo un pulso delta, un muro verde en la parte superior, y una bola roja en la derecha, todos ellos con materiales difusos (Lambertianos). El sensor a la izquierda act´ua como un muro blanco sobre el que medimos radiancia. En (b) representamos luz multiplexada por nivel de rebote, i.e. separando la radiancia dependiendo del n´umero de rebotes que le cost´o llegar al sensor. El eje vertical representa la parametrizaci´on del sensor, y el eje horizontal la evoluci´on de la radiancia en el tiempo. En la imagen de luz directa, solo vemos el primer frente de onda directo (0), con la radiancia llegando m´as pronto cerca del centro del sensor, ya que est´a m´as cerca de la luz. En la imagen del primer rebote, vemos la luz que lleg´o al muro y la bola, rebot´o y lleg´o al sensor (1). En la imagen del segundo rebote, vemos la radiancia que lleg´o primero al sensor, se reflej´o sobre el muro y la bola y fue reflejada otra vez llegando al sensor (2). Las gr´aficas (c) representan la evoluci´on de la radiancia en tiempo para un ´unico punto del sensor (marcado en amarillo). 8.2. Proyecci´on ortogr´afica de una luz puntual dentro de un medio participativo La Figura 8.2, arriba-izquierda muestra una luz puntual dentro de un medio participativa y vista desde una c´amara ortogr´afica. Las gr´aficas representan single y multiple scattering (luz sin dispersar y luz dispersada al menos una vez) para cuatro funciones de fase distintas en un instante t=2,1ns. En la gr´afica de single scattering podemos ver dos caracter´ısticas. Los picos en los lados y los l´obulos en el centro, especialmente para funciones de fase con m´as direccionalidad g=±0,6. Los picos de los lados son producto de la acumulaci´on sobre el rayo. La escena representa la emisi´on de un pulso delta de luz produciendo un frente de onda diferencial dx(1), pero dado que nuestro tiempo de exposici´on es finito, en la pr´actica la anchura del frente de onda tambi´en lo es. Cuando un rayo atraviesa el medio cerca de los lados izquierdo o derecho del frente de onda, la cantidad de frente acumulado sobre el rayo es mayor (2), por lo que se observan esos Cap´ıtulo 8 – Resultados 41 Figura 8.2: Una luz puntual dentro de un medio con σs=0,6,σa=0,1 (arribaizquierda). Mostramos diferentes perfiles temporales de radiancia para cuatro funciones de fase Henyey-Greenstein con distintos niveles de direccionalidad. En particular, separamos el single scattering (luz que no ha sufrido eventos de dispersi´on) del multiple scattering (luz que ha sido dispersada al menos una vez), y en las gr´aficas mostramos la radiancia vista por la c´amara ortogr´afica en un instante t=2,1ns desde que se lanz´o el pulso de luz. picos con m´as radiancia. Adem´as para un mismo valor de |g|, la altura de los picos es id´entica en sus m´aximos. Esto es porque en esa zona del frente de onda, la luz viaja de forma perpendicular al rayo de c´amara. Por ello, las funciones de fase son sim´etricas respecto a la direcci´on del rayo de c´amara (3), reflejando la misma cantidad de luz hacia el rayo tanto para valores positivos como negativos de una mismo valor |g|. Esto puede verse en las elipses azules |g|=0,3 y rojas |g|=0,6 que muestran la orientaci´on de la funci´on de fase en cada punto del frente de onda. Los l´obulos tambi´en se producen por las caracter´ısticas de las funciones de fase. Podemos ver l´obulos en el centro de la c´amara ortogr´afica cuando la funcion presenta direccionalidad alta |g|=0,6. En los rayos cercanos al centro de la c´amara, la funci´on de fase se vuelve m´as paralela a esos rayos (tanto en la parte frontal como la trasera), por lo que la mayor parte de la luz es reflejada en su direcci´on. Esto sucede en la parte frontal del frente (4) para la dispersi´on forward g=0,6, y en la parte trasera (5) para la dispersi´on backward. La diferencia en intensidad se debe a que la extinci´on en la parte frontal es menor que en la parte trasera, y por tanto llega m´as radiancia de la dispersi´on forward. El multiple scattering es en realidad el producto de aplicar muchos procesos de dispersi´on al single scattering, que depende tanto de la funci´on de fase como de la dispersi´on y absorci´on del medio. Intentar obtener conclusiones sobre la gr´afica de multiple scattering resulta mucho m´as complicado, ya que la luz ha sufrido difusi´on y, como hemos visto, los efectos de acumulaci´on sobre el rayo y la extinci´on del medio afectan mucho a c´omo visualizamos la radiancia. Esto 42 Cap´ıtulo 8 – Resultados Figura 8.3: V es una representaci´on esquem´atica de la escena, con una luz en el centro, un c´ırculo verde y una caja roja, con BRDFs difusas. En el render estacionario S se puede ver el efecto de dispersi´on de color en el medio debido a la iluminaci´on indirecta alrededor de la caja y el c´ırculo. In the steady state image S we can see the color bleeding in the medium due to indirect illumination around the box and circle segments. Los fotogramas F1 a F6 muestran la propagaci´on en estado transitorio y est´an sobreexpuestas para apreciar el multiple scattering. demuestra la necesidad de un sistema de representaci´on mas adecuado para eliminar estos efectos, explicado en la Secci´on 8.3. 8.3. Renderizado de medios participativos en 2D con un sensor de irradiancia Si nuestro objetivo es analizar c´omo se propaga la luz a trav´es de un medio en 2D, una proyecci´on ortogr´afica puede no ser el enfoque adecuado, como se ha demostrado en la Secci´on 8.2. En cambio, calcular la irradiancia en puntos diferenciales de un medio evita los efectos de extinci´on, acumulaci´on y funciones de fase sobre el rayo, porque en realidad no hay ning´un rayo, Esto lleva a un nuevo sistema de representaci´on, donde se coloca una matriz de sensores en la escena y se computa la dispersi´on entrante en cada uno de ellos. Para ello, solo tenemos que muestrear puntos en la escena y hacer una estimaci´on de radiancia ignorando la funci´on de fase, lo que en realidad es una estimaci´on de irradiancia. Esta representaci´on simula una “proyecci´on” como si estuvieramos viendo la escena 2D desde arriba, aunque en realidad esa proyecci´on no existe en un mundo 2D. N´otese que este sistema de representaci´on no permite ver los objetos de la escena, ya que una curva tiene anchura diferencial y es estad´ısticamente imposible muestrear un punto en esa curva. La Figura 8.3 muestra una escena con una caja y c´ırculos con BRDFs difusas. La Figura 8.4 muestra la misma escena variando las BRDFs por un c´ırculo de vidrio naranja con η=1,5 y un espejo cyan con reflexi´on especular perfecta. Esto nos permite ver los diferentes perfiles temporales de las c´austicas y la iluminaci´on indirecta. Observando la Figura 8.3, debido a la Cap´ıtulo 8 – Resultados 43 Figura 8.4: Usando la misma escena que en la Figura 8.3, la BRDF del c´ırculo es ahora vidrio naranja con ´ındice de refracci´on η=1,5, y la BRDF de la caja es un espejo cian (reflexi´on especular perfecta). En la imagen estacionaria S podemos ver las c´austicas formadas por la naturaleza delta de las BRDFs transmisiva y especular alrededor del c´ırculo y la caja. Los fotogramas F1 a F6 muestran la propagaci´on de la luz en estado transitorio, y est´an sobreexpuestas para enfatizar el multiple scattering. naturaleza difusa de las BRDFs, la direccionalidad de el frente de onda principal se piderde cuando rebota con la caja y el c´ırculo (fotogramas F3 y F4) produciendo el effecto de dispersi´on de color. Si lo comparamos con los fotogramas F3 a F5 en la Figura 8.4, cuando el frente de onda rebota con la caja m, no se pierde la direccionalidad de la luz y el frente de onda prevalece debido a la direccionalidad de la BRDF especular. Toda la difusi´on alrededor del frente de onda es debida a los eventos dispersi´on en el medio, pero no a la BRDF de la caja. El vidrio naranja gno muestra ningun tipo de dispersi´on alrededor ya que toda la luz se transmite hacia el interior del objeto. Podemos observar tambi´en como el frente de onda lo rodea, y dado que el ´ındice de refracci´on reduce la velocidad de la luz, hay que esperar un poco m´as hasta que vemos la c´austica salir del c´ırculo. Mencionar que los render presentan ruido estructurado debido a problemas con el muestreo explicadas m´as adelante. 8.4. Perfiles temporales gaussianos variando las funciones de fase La direccionalidad de la luz presente en los medios participativos depende ´unicamente de la BRDF de las superficies. La funci´on de fase de un medio redirige la luz en cada evento de dispersi´on con una intensidad distinta en cada direcci´on (Secci´on 3.2). En relaci´on con el transporte de luz transitorio, D’Eon e Irving [DI11] proponen un modelo para renderizar materiales trasl´ucidos, en el que mencionan: [...] Particles or photons leaving a point source and undergoing diffusion produce Gaussian distributions with a mean displacement proportional to √tD, where tis the time since emission and Dis the diffusion coefficient. [...] 50 Cap´ıtulo 9 – Conclusiones Por otro lado, en este proyecto se han realizado muchas simplificaciones sobre las caracter´ısticas de los medios. Aspectos como dispersi´on dependiente de la longitud de onda, medios con ´ındices de refracci´on variables, o la utilizaci´on de modelos complejos de BRDFs producen efectos apreciables e interesantes a escalas temporales peque˜nas, por lo que la inclusi´on de estos aspectos en la simulaci´on de transporte de luz transitorio es un aspecto interesante para desarrollar en un futuro. Adem´as, el blur temporal aplicado en la adaptaci´on temporal de Photon Beams incrementa el bias en los resultados, por lo que se requiere de un an´alisis adecuado con el fin de minimizarlo o al menos dar una estimacion fiable del error introducido. Por ´ultimo, los inconvenientes encontrados en las t´ecnicas habituales de muestreo por importancia al utilizarlas en algoritmos transitorios muestran la necesidad de nuevas t´ecnicas de muestreo que consigan mejorar la convergencia al renderizar transporte de luz transitorio. 9.2. Desarrollo de proyecto Este proyecto se ha realizado dentro del marco de un proyecto de investigaci´on en el Graphics and Imaging Lab de la Universidad de Zaragoza, y en colaboraci´on con Wojciech Jarosz, investigador jefe en el grupo de rendering de Disney Research, Z¨urich. La duraci´on del proyecto ha sido de once meses, desde el 20 de diciembre de 2012 hasta el 20 de noviembre de 2013. En la Figura 9.1 se puede observar un calendario con la evoluci´on del proyecto a lo largo de este tiempo. Durante todo el proyecto se han realizado reuniones regulares dentro del laboratorio. Desde la incorporaci´on de Wojciech Jarosz al equipo de trabajo, el contacto por correo electr´onico ha sido constante con el fin de resolver dudas y comentar detalles. Adem´as se han realizado reuniones por videoconferencia de manera puntual durante los primeros meses, y a partir del 19 de agosto pasaron a ser semanales. En el calendario del proyecto se incluye la organizaci´on y celebraci´on del Eurographics Symposium on Rendering (EGSR), evento al que acudieron investigadores de todo el mundo relacionados con campo el render y con los gr´aficos por ordenador en general. Se aprovech´o la asistencia de Wojciech Jarosz al evento como invited speaker para realizar una reuni´on in situ. Adem´as de la celebraci´on del EGSR, se han recibido visitas al laboratorio de investigadores internacionales relacionados con los gr´aficos por ordenador, incluyendo Bill Freeman del MIT o Aaron Hertzmann de Adobe Research, a los que se les explic´o la naturaleza de este proyecto y del proyecto de investigaci´on al que va asociado. Los resultados obtenidos con este proyecto ser´an sometidos a la conferencia mundial de gr´aficos por ordenador SIGGRAPH 2014 que publica en la revista ACM Transactions on Graphics (JCR, 1.er tercil, IF: 3.361). Adicionalmente, resultados previos obtenidos durante el desarrollo del proyecto fueron presentados en el Congreso Espa˜nol de Inform´atica Gr´afica 2013 (Anexo B). 9.3. Conclusi´on personal Este ha sido mi primer contacto con el mundo de la investigaci´on, y la experiencia est´a siendo muy positiva. Es una gran oportunidad poder trabajar dentro en un grupo de investigaci´on con tanta repercusi´on internacional, y poder participar en un proyecto del mayor alcance posible en el mundo de los gr´aficos por ordenador. Esta experiencia durante los ´ultimos meses ha supuesto Cap´ıtulo 9 – Conclusiones 51 Figura 9.1: Evoluci´on temporal del proyecto desde su comienzo, 20 de diciembre de 2012, hasta su finalizaci´on, 20 de noviembre de 2013. un reto personal en muchos aspectos, y ahora mismo tengo la impresi´on de que en su momento tom´e la decisi´on m´as correcta posible eligiendo trabajar con este grupo. La relaci´on tanto con Adri´an y Diego como con el resto de miembros del laboratorio ha sido genial, en el grupo se respira muy buen rollo y cada d´ıa se aprende algo nuevo. Su pasi´on por la investigaci´on y las grandes oportunidades que ofrece el grupo han hecho que me decida a continuar en el mundo acad´emico con vistas a hacer el doctorado. Bibliograf´ıa [Arv93] Arvo J. Transfer equations in global illumination. In Global Illumination, SIGGRAPH’93 Course Notes, 1993. [BSS+13] Belcour L., Soler C., Subr K., Holzschuch N., and Durand F. 5d covariance tracing for efficient defocus and motion blur. ACM Trans. Graph., 32(3), 2013. [Cha60] Chandrasekhar S. Radiative transfer. Courier Dover Publications, 1960. [Dav06] Davis A. Effective propagation kernels in structured media with broad spatial correlations, illustration with large-scale transport of solar photons through cloudy atmospheres. In Graziani F., editor, Computational Methods in Transport, volume 48 of Lecture Notes in Computational Science and Engineering, pages 85–140. Springer Berlin Heidelberg, 2006. [DBB06] Dutr` e P., Bala K., and Bekaert P. Advanced Global Illumination. AK Peters, 2006. [DHS+05] Durand F., Holzschuch N., Soler C., Chan E., and Sillion F. X. A frequency analysis of light transport. ACM Trans. Graph., 24(3), 2005. [DI11] D’Eon E. and Irving G. A quantized-diffusion model for rendering translucent materials. ACM Trans. Graph., 30(4), 2011. [GJJD09] Gutierrez D., Jensen H. W., Jarosz W., and Donner C. Scattering. In ACM SIGGRAPH ASIA 2009 Courses, 2009. [GMAS05] Gutierrez D., Munoz A., Anson O., and Seron F. J. Non-linear volume photon mapping. In Eurographics Symposium on Rendering ’05, 2005. [GTGB84] Goral C. M., Torrance K. E., Greenberg D. P., and Battaile B. Modeling the interaction of light between diffuse surfaces. SIGGRAPH Comput. Graph., 18(3), 1984. [Hav04] Haverkort H. Results on Geometric Networks and Data Structures. ASCI dissertation series. 2004. [Hei12] Heide F. Waveform inversion for lambertian objects using transient imaging. Technical report, University of British Columbia, 2012. [HG41] Henyey L. G. and Greenstein J. L. Diffuse radiation in the galaxy. Astrophysical Journal, 93:70–83, 1941. [Jar12] Jarabo A. Femto-photography: Visualizing light in motion, 2012. 53 54 BIBLIOGRAF´ IA [Jen01] Jensen H. W. Realistic Image Synthesis Using Photon Mapping. AK Peters, 2001. [JNSJ11] Jarosz W., Nowrouzezahrai D., Sadeghi I., and Jensen H. W. A comprehensive theory of volumetric radiance estimation using photon points and beams. ACM Trans. Graph., 30(1):5:1–5:19, February 2011. [JSKJ12] Jarosz W., Sch¨ onefeld V., Kobbelt L., and Jensen H. W. Theory, analysis and applications of 2d global illumination. ACM Trans. Graph., 31(5), 2012. [JZJ08] Jarosz W., Zwicker M., and Jensen H. W. The beam radiance estimate for volumetric photon mapping. Computer Graphics Forum (Proceedings of Eurographics 2008), 27(2):557–566, April 2008. [Kaj86] Kajiya J. The rendering equation. In SIGGRAPH ’86, 1986. [KGKCn13] Kˇ riv´ anek J., Georgiev I., Kaplanyan A. S., and Ca˜ nada J. Recent advances in light transport simulation: theory & practice. In ACM SIGGRAPH 2013 Courses, 2013. [KK09] Keller M. and Kolb A. Real-time simulation of time-of-flight sensors. Simulation Modelling Practice and Theory, 17(5), 2009. [KOKP07] Keller M., Orthmann J., Kolb A., and Peters V. A simulation framework for time-of-flight sensors. In International Symposium on Signals, Circuits and Systems 2007, 2007. [LALD12] Lehtinen J., Aila T., Laine S., and Durand F. Reconstructing the indirect light field for global illumination. ACM Trans. Graph., 31(4), 2012. [LW93] Lafortune E. P. and Willems Y. D. Bi-directional path tracing. In CompuGraphics’93, 1993. [MWRD13] Mehta S. U., Wang B., Ramamoorthi R., and Durand F. Axis-aligned filtering for interactive physically-based diffuse indirect lighting. ACM Trans. Graph., 32(4), 2013. [NZV+11] Naik N., Zhao S., Velten A., Raskar R., and Bala K. Single view reflectance capture using multiplexed scattering and time-of-flight imaging. ACM Trans. Graph., 30, 2011. [RMB07] Ramamoorthi R., Mahajan D., and Belhumeur P. A first-order analysis of lighting, shading, and shadows. ACM Trans. Graph., 26(1), 2007. [SG86] Silverman B. W. and Green P. J. Density Estimation for Statistics and Data Analysis. Chapman and Hall, London, 1986. [SML+12] Sadeghi I., Mu˜ noz A., Laven P., Jarosz W., Seron F., Gutierrez D., and Jensen H. W. Physically-based simulation of rainbows. ACM Trans. Graph., 31(1), 2012. [SSD08] Smith A., Skorupski J., and Davis J. Transient rendering. Technical Report UCSC-SOE-08-26, School of Engineering, University of California, Santa Cruz, February 2008. BIBLIOGRAF´ IA 55 [VG97] Veach E. and Guibas L. J. Metropolis light transport. In Proceedings of the 24th annual conference on Computer graphics and interactive techniques, pages 65–76, 1997. [VWG+12] Velten A., Willwacher T., Gupta O., Veeraraghavan A., Bawendi M. G., and Raskar R. Recovering three-dimensional shape around a corner using ultrafast time-of-flight imaging. Nature Communications, (3), 2012. [VWJ+12] Velten A., Wu D., Jarabo A., Masia B., Barsi C., Lawson E., Joshi C., Gutierrez D., Bawendi M. G., and Raskar R. Relativistic ultrafast rendering using time-of-flight imaging. In ACM SIGGRAPH 2012 Talks, 2012. [VWJ+13] Velten A., Wu D., Jarabo A., Masia B., Barsi C., Joshi C., Lawson E., Bawendi M., Gutierrez D., and Raskar R. Femto-photography: Capturing and visualizing the propagation of light. ACM Trans. Graph., 32(4), 2013. [Whi79] Whitted T. An improved illumination model for shaded display. SIGGRAPH Comput. Graph., 13(2), 1979. [WWB+12] Wu D., Wetzstein G., Barsi C., Willwacher T., O’Toole M., Naik N., Dai Q., Kutulakos K., and Raskar R. Frequency Analysis of Transient Light Transport with Applications in Bare Sensor Imaging. In European Conference on Computer Vision 2012, 2012. Anexo A Contenido del CD En el CD adjunto a esta memoria se incluye una versi´on digital de la memoria, el p´oster presentado en el CEIG (Anexo B), los dos art´ıculos [JNSJ11, JSKJ12] en los que principalmente se basa este proyecto, y los v´ıdeos e im´agenes correspondientes a los resultados explicados en el Cap´ıtulo 8 y resultados adicionales. La estructura de carpetas con la secci´on a la que corresponden es la siguiente: / Bibliograf´ıa Memoria Poster CEIG 2013 ........................................................Anexo B Resultados 2D FreeSpace .......................................................Secci´on 8.1 GaussianProfiles ................................................ Secci´on 8.4 IrradianceSensor ............................................... Secci´on 8.3 3D Armadillo ......................................................... Anexo D CornellBlocks ...................................................Secci´on 8.5 CornellCaustics ................................................ Secci´on 8.6 Mirrors ......................................................... Secci´on 8.7 StanfordDragon ....................................................Anexo D La bibliograf´ıa contiene los art´ıculos [JNSJ11, JSKJ12] debido a que son en los que se principalmente se basa este proyecto. 57 Anexo B P´oster en el CEIG 2013 Resultados previos y conclusiones este proyecto fueron presentados en el Congreso Espa˜nol de Inform´atica Gr´afica (CEIG) celebrado del 17 al 20 de septiembre de 2013 en un p´oster con el t´ıtulo “Rendering Light Transport in Transient-State”. En este anexo se incluyen tanto el Abstract como el propio p´oster. 59 66 Anexo D – Resultados Adicionales Figura D.2: Secuencia mostrando una emisi´on delta de luz en una escena con el modelo armadillo de Stanford. Figura D.3: Secuencia mostrando una emisi´on continua de luz en una escena con el modelo drag´on de Stanford.