scieee AI-readable full text Open interactive document viewer

Repositorio Institucional de Documentos

Abstract

La apariencia de los objetos del mundo real está definida por los detalles geométricos de su superficie y por los fenómenos de interacción luz-materia que se producen en ella o en su interior. Capturar los efectos en la apariencia producidos a diferentes escalas por la geometría y el material de los objetos puede resultar muy costoso, tanto en tiempo de simulación como en memoria. Por ello, pese a la importancia en la apariencia final, estos efectos son ignorados con frecuencia. El presente PFC se centra en la implementación y evaluación de técnicas que permiten modelar de forma eficiente el efecto que los detalles de alta frecuencia tienen sobre la apariencia final del objeto. En concreto, se trabaja en base a Characteristic Point Maps (CPM) [1,2]. Este método selecciona un número reducido de puntos sobre la superficie del objeto, Characteristic Points, que indican dónde muestrear la radiancia reflejada de la superficie para reconstruír la apariencia a escala macroscópica de la radiancia reflejada por superficies con gran cantidad de detalle, sin necesidad de la alta tasa de muestreo que se requiere en estos casos para evitar artefactos en forma de aliasing. El uso de esta técnica nos permite reducir la complejidad geométrica en la escena, ya que gran parte de esta complejidad se encuentra modelada por los CPMs. Eso nos permite acelerar de manera notable el rendering de estos objetos. Para ello, se ha implementado un sistema jerárquico en el que se combinan una representación multi-resolución de CPMs, junto con una jerarquía de mallas simplificadas, cuyos detalles geométricos son modelados por los CPMs. La técnica es evaluada, de modo que se discuten puntos fuertes y débiles de la misma, a fin de explorar posibles mejoras, ampliaciones o técnicas alternativas. Finalmente se analiza cómo incorporar en un sistema de reflectancia pre-filtrada el efecto de la iluminación indirecta, donde la radiancia incidente no proviene de las fuentes de luz, sino que llega reflejada por las superficies de la escena. Para ello, se desarrolla una prueba de concepto que constituye el primer intento para incorporar este fenómeno en un método de pre-filtrado de reflectancia, y se proporcionan posibles avenidas de trabajo futuro para el desarrollo de modelos que incluyan otros efectos de transporte de luz. Este trabajo se ha realizado en colaboración con Hongzhi Wu, Prof. Julie Dorsey y Prof. Holly Rushmeier, de Yale University (EEUU). [1] Hongzhi Wu, Julie Dorsey, Holly Rushmeier. 2009. Characteristic Points Maps. En Computer Graphics Forum (Proc. of EUROGRAPHICS Symposium on Rendering, 2009), 28(4), 1227-1236. [2] Hongzhi Wu, Julie Dorsey, Holly Rushmeier. 2011. Physically-Based Interactive Bi-Scale Material Design. En ACM Transaction on Graphics (Proc. of SIGGRAPH Asia 2011), 30(6), 145:1-145:10. Aliaga Badal, Carlos; Jarabo Torrijos, Adrián

Full text

Repositorio de la Universidad Proyecto Fin de Carrera Iluminación global en iluminación indirecta pre geometría y reflectancia complejas Director: Ponente: Escuela de Ingeniería y Arquitectura Universidad de Zaragoza --- Zaguan http://zaguan.unizar.es Proyecto Fin de Carrera Iluminación global en Characteristic Point Maps iluminación indirecta pre - filtrada en objetos con geometría y reflectancia complejas Carlos Aliaga Badal Director: Adrián Jarabo Torrijos Ponente: Dr. Diego Gutiérrez Pérez Escuela de Ingeniería y Arquitectura 2012 http://zaguan.unizar.es  Proyecto Fin de Carrera Characteristic Point Maps : filtrada en objetos con geometría y reflectancia complejas  Iluminación global en iluminación indirecta pre geometría y reflectancia complejas Director: Ponente: Proyecto Fin de Carrera Iluminación global en Characteristic Point Maps iluminación indirecta pre - filtrada en objetos con geometría y reflectancia complejas Carlos Aliaga Badal Director: Adrián Jarabo Torrijos Ponente: Dr. Diego Gutiérrez Pérez Ingeniería en Informática Julio 2012 Characteristic Point Maps : filtrada en objetos con geometría y reflectancia complejas  A mis padres, mi hermana y al resto de personas cuyo apoyo, colaboraci´on y paciencia han hecho posible este trabajo. i ii Agradecimientos Quiero dar las gracias a Adri´an por su gran ayuda e implicaci´on, y a Diego por ofrecerme la posibilidad de trabajar en un proyecto tan interesante y provechoso para m´ı. Tambi´en al resto de compa˜neros del Graphics and Imaging Lab por su inter´es y buenos consejos. Muchas gracias a todos. iii iv Iluminaci´on global en Characteristic Point Maps: iluminaci´on indirecta pre-filtrada en objetos con geometr´ıa y reflectancia complejas Resumen La apariencia de los objetos del mundo real est´a definida por los detalles geom´etricos de su superficie y por los fen´omenos de interacci´on luz-materia que se producen en ella o en su interior. Capturar los efectos en la apariencia producidos a diferentes escalas por la geometr´ıa y el material de los objetos puede resultar muy costoso, tanto en tiempo de simulaci´on como en memoria. Por ello, pese a la importancia en la apariencia final, estos efectos son ignorados con frecuencia. El presente PFC se centra en la implementaci´on y evaluaci´on de t´ecnicas que permiten modelar de forma eficiente el efecto que los detalles de alta frecuencia tienen sobre la apariencia final del objeto. En concreto, se trabaja en base a Characteristic Point Maps (CPM) [WDR09, WDR11]. Este m´etodo selecciona un n´umero reducido de puntos sobre la superficie del objeto, Characteristic Points, que indican d´onde muestrear la radiancia reflejada de la superficie para reconstru´ır la apariencia a escala macrosc´opica de la radiancia reflejada por superficies con gran cantidad de detalle, sin necesidad de la alta tasa de muestreo que se requiere en estos casos para evitar artefactos en forma de aliasing. El uso de esta t´ecnica nos permite reducir la complejidad geom´etrica en la escena, ya que gran parte de esta complejidad se encuentra modelada por los CPMs. Eso nos permite acelerar de manera notable el rendering de estos objetos. Para ello, se ha implementado un sistema jer´arquico en el que se combinan una representaci´on multi-resoluci´on de CPMs, junto con una jerarqu´ıa de mallas simplificadas, cuyos detalles geom´etricos son modelados por los CPMs. La t´ecnica es evaluada, de modo que se discuten puntos fuertes y d´ebiles de la misma, a fin de explorar posibles mejoras, ampliaciones o t´ecnicas alternativas. Finalmente se analiza c´omo incorporar en un sistema de reflectancia pre-filtrada el efecto de la iluminaci´on indirecta, donde la radiancia incidente no proviene de las fuentes de luz, sino que llega reflejada por las superficies de la escena. Para ello, se desarrolla una prueba de concepto que constituye el primer intento para incorporar este fen´omeno en un m´etodo de pre-filtrado de reflectancia, y se proporcionan posibles avenidas de trabajo futuro para el desarrollo de modelos que incluyan otros efectos de transporte de luz. Este trabajo se ha realizado en colaboraci´on con Hongzhi Wu, Prof. Julie Dorsey y Prof. Holly Rushmeier, de Yale University (EEUU). v 1.1. Estructura del documento Ingenier´ıa de Sistemas (DIIS), ubicado en la Escuela de Ingener´ıa y Arquitectura (EINA) de la Universidad de Zaragoza. Se ha desarrollado, adem´as, en colaboraci´on con Hongzhi Wu, Prof. Julie Dorsey y Prof. Holly Rushmeier, de Yale University (EEUU). 1.1. Estructura del documento El resto del documento presenta los siguientes contenidos: Filtrado multi-escala de la apariencia. En este cap´ıtulo se explica qu´e interviene en la apariencia de un objeto, qu´e fen´omenos f´ısicos tienen efecto en ella, y se detallar´an diferentes escalas de representaci´on seg´un la distancia del observador al objeto. Tambi´en se exponen las dificultades del problema de pre-filtrar la apariencia y los conceptos fundamentales que han surgido en este campo. Characteristic Point Maps. Se detallan los procesos de prec´alculo y render del m´etodo, y se ahondar´a en sus ventajas y sus limitaciones, as´ı como en las diferentes posibilidades de implementaci´on que ofrece. Resultados. En esta secci´on se presentan los resultados obtenidos al renderizar objetos complejos pre-calculados con la t´ecnica de los CPMs, y se comparar´an los resultados obtenidos contra multisampling . Discusi´on del m´etodo. Se estudian los resultados obtenidos, se valoran las limitaciones, las ventajas y los inconvenientes del m´etodo, atendiendo a factores como tiempo de render, espacio de almacenamiento, y tiempo de pre-c´alculo requerido. Iluminaci´on indirecta. Se expone una prueba de concepto para tener en cuenta la iluminaci´on indirecta en el pre-filtrado de la apariencia, discutiendo los problemas que surgen y las posibles soluciones. Conclusiones y trabajo futuro. Se discuten las posibles v´ıas de ampliaci´on y mejora del m´etodo. 4 Cap´ıtulo 2 Filtrado multi-escala de la apariencia En este cap´ıtulo se repasan los diversos factores que intervienen en la apariencia y c´omo afectan en ella los detalles que poseen los objetos en la realidad, cuando son observados a distintas escalas de visualizaci´on. Se explica por qu´e estos factores son importantes en la apariencia de un objeto, y se exponen las dificultades que surgen a la hora de generar im´agenes sint´eticas de forma eficiente que tengan en cuenta todos estos factores. De forma paralela se revisa el trabajo relacionado realizado hasta el momento. 2.1. Apariencia y escalas de representaci´on En el mundo real, la apariencia de los objetos est´a determinada por su morfolog´ıa y por la interacci´on de la luz con ´estos. Toda superficie, adem´as, presenta unas caracter´ısticas diferentes seg´un la escala a la que se est´e visualizando, siendo todas ellas claves a la hora de definir la apariencia global del objeto. En primer lugar es necesario definir en qu´e consiste la apariencia. Lo que llega a una c´amara (como el ojo humano) es la radiancia reflejada por el objeto. La radiancia L(x, ωo) reflejada en un punto xen la direcci´on ωose define comunmente usando la ecuaci´on de render [Kaj86]: L(x, ωo) = Le(x, ωo) + ZΩx Li(x, ωi)fr(x, ωi, ωo)hn·ωiidωi(2.1) donde ωies la direcci´on de la luz incidente y ωoes la direcci´on desde el punto xal observador; Lees la radiancia emitida por la superficie (por ejemplo, en cuerpos incandescentes); Lies la radiancia incidente en el punto x, que llega desde todas las direcciones de la hemisfera Ωx, centrada en la normal en x; el t´ermino hn·ωiirepresenta la atenuaci´on de la luz entrante seg´un el ´angulo de incidencia, donde nes la normal de la superficie en ese punto; por ´ultimo, frdenota la Bidirectional Reflectance Distribution Function (BRDF) de la superficie en el punto x. La BRDF es la funci´on que define c´omo la luz es reflejada por una superficie opaca. Modela el ratio entre la radiancia reflejada respecto de la irradiancia incidente. La apariencia de una superficie Aviene definida por la radiancia total reflejada por las partes visibles de dicha superficie en la direcci´on del observador. Se define como Avis (ωo) 5 2.1. Apariencia y escalas de representaci´on y representa el ´area visible proyectada de Aen la direcci´on ωo. Excluyendo por simplicidad la radiancia Leemitida por el propio objeto, la radiancia total reflejada viene definida por L(A, ωo) = ZAvis(ωo)ZΩx L(x, ωo)dAvis (ωo) (2.2) Se asume en este punto suficiente distancia entre el objeto y el observador, y el objeto y las fuentes de luz, de tal forma que las direcciones incidente ωiy saliente ωopueden considerarse constantes a lo largo de Avis. La apariencia es por tanto dif´ıcil de preservar, debido a la cantidad de elementos que intervienen en la ecuaci´on 2.1. La funci´on a integrar no es lineal, no puede ser definida de forma anal´ıtica, y sus factores est´an mutuamente correlados y dependen del dominio de interacci´on. La principal dificultad de estos fen´omenos lum´ınicos (Figura 2.1) es que todos se producen a nivel global. A diferencia de la BRDF, que act´ua de forma local: es capaz de modelar la interacci´on de la luz en un punto concreto de la superficie. Entre estos efectos, el auto-sombreado ocurre cuando un objeto proyecta sombras sobre s´ı mismo. La auto-oclusi´on se produce cuando una parte del objeto se interpone entre el observador y otra parte del propio objeto, siendo esta ´ultima la que queda oclu´ıda. Se tiene en cuenta en el ´area visible proyectada Avis. Figura 2.1: De izquierda a derecha, el auto-sombreado ocurre cuando partes del objeto est´an en sombra debido a que otras zonas del propio objeto se disponen entre ellas y la/s fuente/s de luz. La auto-oclusi´on tiene lugar cuando partes del objeto ocultan otras a la vista. La interreflexi´on es un fen´omeno de interacci´on luz-materia consistente en sucesivos rebotes de los rayos de luz con la superficie del objeto. Por ´ultimo, SSS ocurre en materiales trasl´ucidos, cuando la luz es absorbida, penetra en el material y sale en otros puntos de la superficie distintos a los de entrada. Otro fen´omeno de interacci´on luz-materia es la interreflexi´on. En ella, no s´olo se tienen en cuenta los rayos procedentes directamente de las fuentes de luz, sino tambi´en aquellos que han sido reflejados por cualquier otra superficie de la escena, inclu´ıdo el propio objeto. Su simulaci´on implica un alto coste computacional, ya que la iluminaci´on indirecta no es un fen´omeno local: los rayos de luz que llegan a un punto, producto de sucesivos rebotes, proceden de cualquier superficie del propio objeto o de la escena. Por ello su inclusi´on en el pre-filtrado de la apariencia suele obviarse, pese a la gran importancia que tiene en la apariencia del objeto. En la Figura 1.2 puede verse la diferencia entre una escena generada ´unicamente con iluminaci´on directa, y otra que tiene en cuenta tanto la iluminaci´on directa como la indirecta dentro del propio objeto. La zona de sombra de la imagen izquierda aparece iluminada en la derecha producto de las interreflexiones. En la rosca, la transici´on 6 CAP´ ITULO 2. FILTRADO MULTI-ESCALA DE LA APARIENCIA hacia la parte que est´a en sombra aparece tambi´en m´as iluminada por el mismo motivo. Con el objetivo de precalcular la interacci´on de la luz con los objetos de una escena se han desarrollado numerosos trabajos en el campo conocido como Precomputed Radiance Transfer (PRT), que trata de pre-calcular el transporte de la luz en la escena para ganar eficiencia en tiempo de render. El principal problema es que PRT no filtra la informaci´on de radiancias, por lo que no es pr´actico para representaciones multi-escala de la apariencia. Un ejemplo es el trabajo de Sloan et al. [SLSS03], que utiliza harm´onicos esf´ericos para almacenar la funci´on de transferencia de radiancia en dos niveles distintos: a escala macrosc´opica por un lado, y considerando la meso-estructura por otro. El subsurface scattering (SSS) representa otro fen´omeno lum´ınico global donde la luz, en lugar de rebotar en la superficie, penetra a trav´es de ella. Los rayos interaccionan con el medio y salen reflejados en puntos diferentes a los que entraron. Tiene lugar en objetos transl´ucidos que no tengan materiales diel´ectricos (metales). Algunos ejemplos son la piel, la cera o el papel. La simulaci´on de este efecto es muy costosa computacionalmente, y est´a fuera del alcance del presente PFC. Es conveniente notar que la ecuaci´on 2.1 no tiene en cuenta el SSS, aunque la formulaci´on para la iluminaci´on indirecta es potencialmente aplicable a SSS. Las escalas a las que se est´en representando los objetos, por otro lado, tambi´en juegan un papel muy importante. El intento de evitar la representaci´on por escalas favoreci´o la aparici´on de algoritmos de multisampling adaptativo, pero segu´ıan siendo muy ineficientes. Kajiya [Kaj86] sugiri´o la representaci´on jer´arquica de escalas, desde la malla geom´etrica, pasando por los bump/normal maps hasta la BRDF. Bumpmapping es una t´ecnica que representa los detalles de alta frecuencia modificando las normales de la superficie sin cambiar la geometr´ıa. La limitaci´on principal es que no tiene en cuenta ning´un efecto global (auto-sombreado, auto-colusi´on, interreflexiones, etc). En la Figura 2.2 se pueden observar diferentes t´ecnicas de simulaci´on de apariencia usadas en render, dependiendo de la distancia entre el observador y el modelo, con el fin de reproducir las propiedades de los materiales reales. La geometr´ıa de un objeto puede clasificarse en tres escalas fundamentales, dependiendo del ´area visible proyectada a la c´amara: micro, meso, y macro-geometr´ıa. La micro-estructura puede ser reproducida de forma precisa mediante la BRDF, que modela la interacci´on de la luz con la superficie del objeto a escala microsc´opica. Sin embargo, a escalas mayores la representaci´on depende de fen´onemnos globales, y es donde surgen la mayor´ıa de problemas. A lo largo de los a˜nos se han desarrollado distintos modelos de BRDFs, donde los basados en la teor´ıa de microfacets (MF) son los que demuestran funcionar mejor para aproximar materiales reales [CT82, APS00]. MF considera que la superficie est´a formada por peque˜nas micro-facetas, cuya orientaci´on y disposici´on sigue una distribuci´on determinada. Incluyen por defecto todos los efectos menos SSS, ya que asume que la superficie est´a compuesta de peque˜nos espejos perfectos. La meso-estructura es la que ha recibido mayor atenci´on a lo largo de los ´ultimos a˜nos, por la dificultad de filtrar correcta y eficientemente los fen´omenos f´ısicos complejos que intervienen en la apariencia global del objeto. Un concepto com´unmente utilizado para reproducir la meso-estructura y el color es el uso de mapas sobre la malla poligonal del 7 2.1. Apariencia y escalas de representaci´on Figura 2.2: Representaciones usadas en render fotorrealista y rango de escalas en las que son aplicables. En este ejemplo del coj´ın, a escala objeto, la morfolog´ıa viene determinada por el modelo geom´etrico. La meso-estructura, definida aqu´ı por los hilos entrelazados que forman el tejido, suele representarse mediante mapas de textura, en los que cada t´exel puede almacenar el color, la normal, etc. Por ´ultimo, la BRDF es capaz de definir c´omo se comporta la luz en escala microsc´opica, en este caso al nivel de las fibras que componen los hilos. Imagen de. [WAT92]. objeto en cuesti´on. Cada uno de dichos mapas aporta un atributo distinto a la superficie. Por ejemplo se podr´ıan destacar los mapas de color o los mapas de normales [Wil83]. Estos ´ultimos a˜naden detalle a la superficie modificando ´unicamente las normales de la misma, sin cambiar su geometr´ıa. Al igual que un mapa de color, est´a discretizado en p´ıxeles y por tanto la cantidad de detalle est´a limitada por la resoluci´on de la textura. Otra aproximaci´on usada en gr´aficos son las Bidirectional Texture Functions (BTF). Una BTF es una funci´on 6D que almacena la apariencia de una superficie 2D para un conjunto de direcciones de iluminaci´on y visibilidad. Tiene la ventaja de exhibir los efectos provocados por la meso-estrucutra de los objetos reales, pero la enorme cantidad de datos que almacena (del orden de GB’s por objeto) hace que su representaci´on compacta y eficiente sea todav´ıa un reto en la pr´actica, y fuente de recientes estudios. Se puede hallar un amplio resumen del estado del arte actual en cuanto a captura, compresi´on y modelado en el trabajo de Filip y Haindl [FH09]. Por ´ultimo, la escala macrosc´opicaqueda se define generalmente mediante la malla poligonal. Con el objetivo de ahorrar costes computacionales, del modelo original se generan distintas versiones, reduciendo progresivamente el n´umero de pol´ıgonos que las componen. ´ Esto se ver´a m´as en detalle en apartados sucesivos. 8 CAP´ ITULO 2. FILTRADO MULTI-ESCALA DE LA APARIENCIA 2.2. Problem´atica En inform´atica gr´afica, la imagen generada en el proceso de render es un array de p´ıxeles, resultado de discretizar la reflectancia continua que llega a la c´amara. En este modelo, el valor de cada p´ıxel es la suma de la radiancia reflejada por las superficies dentro de su proyecci´on en la escena, y por tanto, est´a determinado por los detalles geom´etricos, los materiales y los efectos de iluminaci´on englobados bajo dicha proyecci´on. La radiancia Ide un p´ıxel pviene dada por la expresi´on I(p) = ZA I′(x)dx ≈1 n n X k=1 I′(ˆxk) (2.3) donde I′(x) es la radiancia reflejada por cada punto xdentro de A, que es la superficie o superficies dentro de la proyecci´on del p´ıxel pen la escena. La integral de la parte izquierda es aproximada evaluando la radiancia reflejada en un n´umero finito nde muestras ˆxk, con ˆxk∈A. Las im´agenes generadas con este modelo presentan artefactos producidos por el aliasing, y se ven agravados en gran medida cuando la complejidad de la escena aumenta . El aliasing en render es un fen´omeno que ocurre cuando se trata de representar en una imagen entidades continuas, en nuestro caso la funci´on de reflectancia, con un conjunto discreto de muestras. Los artefactos producidos por el aliasing se deben a que la tasa de muestreo est´a por debajo del umbral necesario para representar la se˜nal original, tal como indica el Teorema de Nyquist. Por tanto, a medida que aumenta el la frecuencia de la se˜nal oringal (el detalle) dentro de cada p´ıxel, incrementa el n´umero de muestras necesarias para obtener una reconstrucci´on correcta de la se˜nal, lo cual resulta ineficiente incluso con algoritmos de multisampling adaptativo (por ejemplo, Overbeck et al. [ODR09] renderiza utilizando una base de wavelets en espacio imagen). ´ Esto hace necesario un m´etodo de representaci´on jer´arquica de los objetos que se adapte a distintas condiciones de resoluci´on y que se introduce m´as adelante. Pre-filtrado de superficies complejas Habitualmente los detalles que definen la apariencia de un objeto son tratados de forma separada por motivos de eficiencia. Bruneton y Neyret [BN12] proporcionan un excelente estado del arte sobre el problema del pre-filtrado. Un ejemplo frecuente es el uso de mapas sobre mallas simplificadas que almacenan distintos atributos de la superficie, como puede verse en la Figura 2.3. De esta forma, surgen numerosos problemas a tener en cuenta, derivados en gran parte de la no linealidad de la ecuaci´on 2.1, debido a factores como el uso funciones de reflectancia no lineales o a causa de los fen´omenos de interacci´on luz-materia expuestos anteriormente, como el auto-sombreado o la auto-oclusi´on. El problema de las t´ecnicas de filtrado habituales reside en que tratan cada componente de la ecuaci´on 2.1 de forma separada, asumiendo que todos (reflectancia, albedo, visibilidad, normales, iluminaci´on) est´an mutuamente decorrelados, y realizando el filtrado de los mismos por separado. Esta hip´otesis es usada por la t´ecnica de mipmapping [Wil83] para filtrar una textura de color. Consiste en generar una jerarqu´ıa de im´agenes pre-filtradas de resoluci´on decreciente. Es ´util cuando la resoluci´on de los detalles geom´etricos es mucho menor que la 9 2.2. Problem´atica Figura 2.3: Ses una superficie compleja cuyos detalles est´an almacenados en mapas sobre la malla simplificada A. Se quiere calcular la radiancia Ien el ´angulo s´olido ∆ωpara un p´ıxel. Es la integral de la radiancia reflejada por la proyecci´on del p´ıxel sobre la superficie S. Los atributos de la superficie est´an definidos en el ejemplo por mapas de color, normales, horizonte y profundidad desde la luz. Seg´un la distancia de la c´amara, el n´umero de detalles, o t´exels dentro de la proyecci´on del p´ıxel puede ser muy grande. El objetivo es, en lugar de evaluar gran cantidad de elementos de los mapas de atributos, pre-filtrarlos a distintas resoluciones para reducir los costes computacionales en render. Imagen de [BN12]. resoluci´on de las texturas. En cambio, proyectados en el objeto, la mayor´ıa de los t´exels contienen detalles geom´etricos, lo cual hace que pre-filtrar linealmente el color sea err´oneo. Por otro lado, algunos trabajos recientes se centran en el filtrado de normales, como el trabajo de Olano et al. [OB10]. Es capaz de filtrar en tiempo real los especulares en bump y normal maps, almacenando la distribuci´on de las normales de forma que puedan ser linealmente filtrables para construir un mipmap. Han et al. [HSRG07] expone una nueva formulaci´on anal´ıtica del filtrado de mapas de normales como una convoluci´on de la funci´on de distribuci´on de normales (NDF) y la BRDF, usando para su representaci´on harm´onicos esf´ericos y distribuciones esf´ericas. Su principal desventaja es que no trata oclusiones locales, sombreado e inter-reflexiones. De hecho, la correlaci´on entre las caracter´ısticas que definen la superficie ocurre con mucha frecuencia. Los m´etodos que asumen la decorrelaci´on de los atributos de la superficie no tienen en cuenta los efectos creados por el paralaje, como el parallax offset y el parallax Jacobian (Figura 2.4). A modo de s´ıntesis, la mayor´ıa de m´etodos de pre-filtrado no son correctos porque no tienen en cuenta alguno de los siguientes conceptos. El primero es que filtrar linealmente es err´oneo. La ecuaci´on de iluminaci´on es una funci´on no lineal de la radiancia incidente, las propiedades de la superficie y los fen´omenos lum´ınicos que se producen en ella. En la Figura 2.4 pueden verse los principales efectos a tener en cuenta a la hora de pre-filtrar una superficie. N´otese que el hecho de que los atributos de la superficie est´en o no correlados tiene tambi´en gran influencia en la apariencia. Pre-filtrar separadamente dichos 10 CAP´ ITULO 2. FILTRADO MULTI-ESCALA DE LA APARIENCIA atributos, asumiendo que todos est´an decorrelados no es preciso ya que, como se ha visto, las correlaciones ocurren habitualmente en el mundo real. El modelo poligonal tambi´en ha de tenerse en cuenta a la hora de pre-filtrar la apariencia. Separarlo del resto de atributos es una aproximaci´on incorrecta, ya que se obvian efectos importantes que tiene la morfolog´ıa de la macro y la meso-estructura del objeto sobre la apariencia y sobre el resto de elementos que intervienen en ella. En resumen, a la hora de renderizar una escena con gran cantidad de detalles a nivel de geometr´ıa y textura, a diferentes escalas o resoluci´on, aparecen numerosos problemas dif´ıciles de resolver. No existe, adem´as, ning´un m´etodo eficiente que sea capaz de pre-filtrar la apariencia de un objeto complejo en una jerarqu´ıa de nivel de detalle. En sucesivas secciones, se profundizar´a en las t´ecnicas utilizadas para dar soluci´on a cada uno de los problemas principales aqu´ı expuestos. Figura 2.4: Izquierda: para renderizar correctamente la superficie, no debe evaluarse la proyecci´on del p´ıxel sobre la malla simplificada A0, sino la proyecci´on ortogonal Ade S. El resultado correcto en este caso ser´ıa un color marr´on, en cambio si se usara A0resultar´ıa un color verde de forma incorrecta. Centro: el paralaje Jacobiano tiene gran efecto en los ´angulos extremos. En este caso, tenerlo en cuenta produce un resultado predominantemente marr´on. De obviarlo, la parte verde ser´ıa dominante, produciendo un resultado incorrecto. Derecha: prefiltrar las normales (flechas negras) de una superficie compleja r´apidamente da como resultado una normal media vertical que no representa adecuadamente la meso-estructura de la superficie. Im´agenes de Bruneton y Neyret [BN12]. Con el objetivo de construir una jerarqu´ıa pre-filtrada, Ma et al. [MCT+05] se basa en tabular la BTF y aplicar sobre ella An´alisis de Componentes Principales (PCA). Los requisitos de espacio en memoria y tiempo de c´omputo para el pre-filtrado son los principales inconvenientes del m´etodo, adem´as de la dificultad de extrapolar el resultado obtenido bajo la resoluci´on fijada de la BTF. Otra aproximaci´on presentada por Tan et al. [TLQ+08] representa la reflectancia dependiente de la resoluci´on como una mezcla de m´ultiples modelos de reflectancia convencionales. El m´etodo aproxima los datos observados mediante una suma pesada de BRDFs, con l´obulos alineados, de tipo coseno y gaussianos, principalmente. Es capaz de tener en cuenta los efectos de sombreado y oclusi´on en base a mapas de horizonte (HMD). Las limitaciones m´as importantes son los requisitos de memoria y la imposibilidad de tratar con luz ambiental y otros tipos de iluminaci´on compleja de forma eficiente. 11 2.3. Level of Detail (LOD) 2.3. Level of Detail (LOD) El concepto de nivel de detalle o Level Of Detail (LOD) se basa en la idea de obtener distintas representaciones de un objeto seg´un la distancia a la que es visualizado. Es una aproximaci´on consistente en pre-calcular la apariencia del objeto a distintas escalas, en jerarqu´ıas pre-filtradas, para adaptar la resoluci´on del modelo seg´un el nivel de detalle. Figura 2.5: Simplificaci´on de mallas. Ejemplo de generaci´on de una jerarqu´ıa de nivel de detalle sobre una malla poligonal inicial compleja, imagen de [TPC+10]. En este contexto se han desarrollado gran cantidad de m´etodos de simplificaci´on de mallas, cuyo objetivo es reducir el n´umero de pol´ıgonos que componen la malla, de forma progresiva a lo largo de los niveles de la jerarqu´ıa (Figura 2.5). Esto permite disminuir considerablemente el tama˜no de los objetos a cargar en memoria, abaratando el coste computacional a la hora de renderizar la escena. Esto es debido a que hay menos primitivas geom´etricas, y el render es siempre dependiente del n´umero de pol´ıgonos en la escena: el coste es de O(n) para rasterizaci´on, y O(log (n)) para trazado de rayos. Puesto que la malla simplificada pierde detalle, este tipo de m´etodos no tienen en cuenta los importantes efectos producidos por la micro y meso-estructura del objeto descritos en las secciones anteriores, resultando, por s´ı solos, del todo insuficientes para un filtrado correcto de la apariencia. Es por esto por lo que suelen ser utilizados conjuntamente con otros m´etodos que tengan en cuenta los detalles, como los descritos anteriormente: normal maps, displacement maps, BTF [COM98]. Otros algoritmos de LOD se usan para reducir la complejidad de la apariencia de superficies y materiales. En inform´atica gr´afica, los shaders son programas usados para calcular los efectos del render en la unidad de proceso gr´afico. Lo habitual es que el artista escriba shaders para cada distancia al objeto, aunque existen t´enicas que automatizan esta tarea [OKS03,Pel05]. 12 Cap´ıtulo 3 Characteristic Point Maps En objetos con detalles de alta frecuencia, es necesario distribuir una gran cantidad de muestras sobre la superficie del modelo para reproducir la se˜nal de reflectancia. CPM es un mapa de puntos pre-filtrados que indican en qu´e puntos ha de ser evaluada la reflectancia en tiempo de render para obtener la radiancia total del t´exel. Dicho valor est´a definido por la suma de las radiancias de los CPs, multiplicadas por sus pesos y divididas por el ´area visible proyectada del texel en la direcci´on del observador. El m´etodo puede por tanto concebirse tambi´en como un sistema de muestreo precalculado, mediante el cual unos pocos puntos son suficientes para aproximar el valor de radiancia final del t´exel. Con esto se consigue reducir en gran medida el tiempo de render, ya que evaluar la funci´on de reflectancia de unos pocos CPs de la superficie es equivalente a realizar un muestreo denso sobre la misma. Figura 3.1: Izquierda: los puntos (negro) que presentan caracter´ısticas similares son agrupados en un n´umero reducido de CPs (color). Derecha: representada en 2D por simplicidad, en negro se presenta la funci´on de reflectancia Rpara ese conjunto de muestras iniciales. En color, la funci´on reconstru´ıda con CPs. CPM lleva a cabo un muestreo denso de la superficie del objeto, y eval´ua la radiancia de todos los puntos, desde un conjunto de posibles direcciones del observador y de la fuente de luz. A partir de ah´ı, extrae los puntos que almacenan mayor cantidad de informaci´on: cada uno de ellos puede verse como un cl´uster de un subconjunto de muestras con propiedades comunes (Figura 3.1). Este concepto tiene una serie de problemas de los que se hablar´a m´as adelante en el Cap´ıtulo 5. 13 3.2. LOD en CPM improbable en el mundo real. La segunda opci´on consiste en calcular y evaluar en tiempo de render los CPs de forma separada para cada canal. Sin embargo, tratar los pesos αk de manera independiente es propenso a generar t´exels donde alguno de los canales tiene una saturaci´on incorrecta debido a problemas de oculusi´on, como se ver´a en el Cap´ıtulo 5. Por ´ultimo, se ha optado finalmente por calcular los CPs separadamente por canales, pero modificando sus pesos. Considerando uno de los canales, en este caso el rojo R, la expresi´on que nivela los pesos de un canal en relaci´on al resto est´a definida por α′ R=αRPj∈ΨRαj Pi∈RGB Pj∈Ψiαij (3.14) donde Ψjes el conjunto de pesos para el canal RGB j,αRes un peso del canal R, y α′ Res el nuevo peso ajustado. Con este sistema se puede evaluar en render la radiancia total en todos los CPs, y no cada componente de color por separado seg´un de qu´e canal sea representativo cada punto. En la Figura 3.4 puede observarse la diferencia entre utilizar la luminancia aparente para calcular los CPs y tratar cada canal por separado, equilibrando los pesos seg´un la importancia de cada canal en ese t´exel concreto. El resultado de esta parte del pre-proceso es por tanto un LOD de mapas de textura, en los que cada t´exel almacena un conjunto reducido de puntos caracter´ısticos y sus respectivos pesos. El ´area visible proyectada de dicho t´exel para las diferentes direcciones salientes posibles ωotambi´en es almacenada (Figura 3.5) y se detalla a continuaci´on. 3.2.3. ´ Area visible proyectada El muestreo de reflectancias es aprovechado para llevar a cabo el c´alculo del ´area visible proyectada de un t´exel. Dado el el conjunto inicial de mmuestras, debido al gran tama˜no de mse puede estimar que el ´area de cada punto es area (pi) = atri(pi) nstri (pi)(3.15) donde atri(pi)es el ´area del tri´angulo sobre el que ha ca´ıdo la muestra pi, y nstri (pi) es el n´umero total de muestras del tri´angulo. Pesando dichas ´areas por su t´ermino coseno, el ´area visible de un t´exel tviene dada por la expresi´on Avis (ωo) = m∈T X i=1 V(pi, ωo)area (pi) (ni·ωo) (3.16) donde nies la normal del punto pi,V(pi, ωo) es el t´ermino de visibilidad y Tes el conjunto de puntos del t´exel t. El resultado es un vector de 81 ´areas por cada uno de los t´exels, y es almacenado en una estructura out-of-core para ser accedido de forma eficiente en tiempo de render. El tama˜no de los datos a almacenar, finalmente, se podr´ıa reducir en gran medida mediante alg´un m´etodo de compresi´on, como harm´onicos esf´ericos o wavelets. 20 CAP´ ITULO 3. CHARACTERISTIC POINT MAPS 3.2.4. Render con CPM La jerarqu´ıa de CPMs se integra de forma natural en un trazador de rayos. En tiempo de render se hace uso de los modelos geom´etricos simplificados para encontrar las intersecciones con el objeto. De esta forma, el trazado de rayos se realiza sobre estructuras de datos de mucho menor tama˜no, reduciendo as´ı el coste computacional y por tanto el tiempo de render. Figura 3.5: Reconstrucci´on de la apariencia filtrada mediante puntos caracter´ısticos, donde p es la malla simplificada y g(p) es la malla original. Una vez se ha intersectado con la malla simplificada, la parametrizaci´on permite acceder, con la informaci´on de la intersecci´on, a los t´exels correspondientes en el mipmap de CPM. El proceso es el siguiente: cuando es encontrado un punto de intersecci´on con la malla simplificada y no est´a en sombra, se calcula la correspondencia en el mipmap de cpms en base a las coordenadas de textura de la intersecci´on. Para m´as detalles acerca de la parametrizaci´on, ver secci´on 3.2.1. Para determinar el nivel apropiado dentro de la jerarqu´ıa, se hace uso de la geometr´ıa diferencial para conocer la cantidad de variaci´on en geometr´ıa existe con relaci´on a la variaci´on en textura. Esto se explica con mayor profundidad en el Anexo C. Una vez conocido el nivel de jerarqu´ıa, se calcula la reflectancia de los 8 t´exels correspondientes, es decir, cada uno de los cuatro vecinos del par de niveles adyacentes seleccionados, utilizando una inerpolaci´on trilineal. La radiancia final de cada t´exel est´a definida por la suma pesada de las radiancias reflejadas en los puntos caracter´ısticos, dividida por el ´area visible proyectada del t´exel para la direcci´on del punto de vista: fr(ωi, ωo)≈1 Avis (A, ωo) c X k=1 V(xk, ωi)V(xk, ωi)fr(xk, ωi, ωo) (n·ωi) (n·ωo)αk(3.17) Para cada CP, la radiancia es el producto de su BRDF frpor dos t´erminos de visibilidad V, dos t´erminos coseno y sus pesos αk. Es importante destacar que los t´erminos de visibilidad son calculados sobre la malla original, con lo que los efectos de auto-sombreado y auto-oclusi´on expuestos en el Cap´ıtulo 2 quedan inclu´ıdos. 21 3.2. LOD en CPM 22 Cap´ıtulo 4 Resultados En este cap´ıtulo se exponen los resultados obtenidos en diferentes escenas de prueba, con el objetivo de evaluar el comportamiento del m´etodo en funci´on del tipo de informaci´on que se desea filtrar. Las variantes, que se detallar´an en cada ejemplo, son el pre-filtrado de los detalles geom´etricos y de los detalles de textura. Se muestra adem´as otro caso de uso de CPM, como herramienta para modelar BRDFs en base a micro-geometr´ıa, demostrado por Wu et al. [WDR11] para editar interactivamente BRDFs complejas definidas por esta geometr´ıa. Las escenas de prueba son las que se muestran en la Figura 4.1: un tornillo al que se le ha aplicado una textura de color de ´oxido, dos estatuas con BRDFs medidas. Todos los modelos que se presentan en este cap´ıtulo, a excepci´on del tornillo, han sido obtenidos del repositorio de Stanford1. Las pruebas se han llevado a cabo en una m´aquina con procesador Intel Core i7-2600 con 8 n´ucleos a 3.4 GHz y 6 GB de RAM. Los tiempo empleado, el espacio en memoria y otras estad´ısticas del pre-proceso y del render se pueden observar en la Figura 4.1. Figura 4.1: Como escenas de prueba se utilizan dos estatuas, Lucy yThai Statue, con BRDF medida, con el objetivo de evaluar el comportamiento de CPM para filtrar geometr´ıa, y un tornillo que posee variaciones de alta frecuencia tanto en geometr´ıa como en albedo. Para cada prueba, la escena es iluminada mediante una luz puntual por un lado, y luz natural con mapa de ambiente por otro, extra´ıdos de High Resolution Light Probe Gallery2del ICT Graphics Lab. En todas las im´agenes con multisampling se han utilizado 1024 muestras por p´ıxel. Cada una de estas muestras han requerido adem´as entre 128 y 1The Stanford 3D Scanning Repository - http://graphics.stanford.edu/data/3Dscanrep/ 2http://gl.ict.usc.edu/Data/HighResProbes/ 23 4.1. Geometr´ıa y reflectancia Modelo NPorg NPsim Mem Preproceso Render MA (CPM/MS) Render LD (CPM/MS) Tornillo 10K 612 231 MB 1426 min 81 min. / 1326 min. 73 s./ 556 min. Thai 3.2M 2.3K 142 MB 1280 min 933 min. / 8360 min. 53 min. / 510 min Lucy 1.7M 2.1K 126 MB 1898 min. 301 min./1804 min. 12 min. / 369 min. Cuadro 4.1: NPorg es el n´umero de pol´ıgonos de la malla original Morg, NPsim es el n´umero de pol´ıgonos de la malla simplificada Mi, Mem es el espacio en memoria del objeto pre-filtrado, Preproceso indica el tiempo de pre-computo, Render LD y Render MA comparan CPM/multisampling para luz directa y para mapa de ambiente, respectivamente. 256 muestras del mapa de ambiente, utilizando para ello una distribuci´on aleatoria sobre la hemisfera, pesada por el coseno. Las im´agenes renderizadas usando CPM s´olamente necesitan 4 muestras por p´ıxel. Es importante notar en estos casos que el ruido que aparece en el resto de la escena se debe a que los objetos, en este caso las peanas, no est´an prefiltradas con CPM y necesitar´ıan de m´as muestras por p´ıxel o de mapa de ambiente. 4.1. Geometr´ıa y reflectancia Figura 4.2: Tornillo renderizado con CPM y con multisampling. Arriba, iluminado con luz puntual. Abajo, utilizando iluminaci´on natural con mapa de ambiente. De izquierda a derecha: imagen generada con mapas de puntos caracter´ıticos, imagen generada con multisampling, y finalmente, imagen generada utilizando ´unicamente las mallas simplificadas, sin CPM. Puede observarse c´omo los detalles de alta frecuencia han sido almacenados completamente en CPM, y la geometr´ıa simplificada es totalmente plana. La peque˜na l´ınea clara que recorre la zona de la rosca se debe a que es justo en ese punto donde existe la costura de la parametrizaci´on en textura. El primer ejemplo es un tornillo que posee detalles de alta frecuencia en geometr´ıa, debido a los peque˜nos picos en la superficie de la zona de la rosca, que pueden apreciarse 24 CAP´ ITULO 4. RESULTADOS en el close-up de la figura 4.1. Tambi´en tiene detalles en reflectancia debido a que su superficie est´a oxidada. Se ha utilizado una textura de alta frecuencia en el canal difuso, junto con una BRDF definida con el modelo de Phong [Pho75]. Con este ejemplo se pretende evaluar el funcionamiento de CPM cuando tanto la geometr´ıa como el material poseen variaciones de alta frecuencia. En la imagen se muestra c´omo los detalles de color, en este caso las zonas oxidadas, son preservadas. Pero el efecto m´as importante puede verse la zona de la rosca, donde adem´as del ´oxido, los detalles geom´etricos son modelados correctamente por los cpms, ya que la malla simplificada es completamente plana en esa parte del tornillo. 4.2. Geometr´ıa Figura 4.3: Lucy renderizada con CPM y con multisampling. Arriba, iluminada con luz puntual. Abajo, utilizando iluminaci´on natural con mapa de ambiente. De izquierda a derecha: imagen generada con mapas de puntos caracter´ıticos, imagen generada con multisampling, y finalmente, imagen generada utilizando ´unicamente las mallas simplificadas. Las estatuas que se presentan en la Figuras 4.3 y 4.4 han sido escogidas como casos en los que se pretende pre-filtrar la geometr´ıa del objeto. En este caso la reflectancia es constante a lo largo del modelo, ya que se han usado dos de las BRDF’s de materiales medidos disponibles en la base de datos de MERL [MPBM03]. Puede observarse c´omo la malla simplificada est´a compuesta de muy pocos pol´ıgonos, y CPM almacena todos los detalles geom´etricos del modelo original, muy complejo y con m´ultiples detalles de alta resoluci´on. El hecho de que el resultado pierda brillo con CPM se debe a una mayor p´erdida de energ´ıa en la aproximaci´on que en el anterior ejemplo del tornillo. Se debe a que la simplificaci´on de la malla no respeta a la perfecci´on las normales de la superficie original, ocasionando errores en la correspondencia entre malla original y mallas simplificadas. Estas deben mantenerse lo m´as paralelas posible a la superficie de Morg. Adem´as, se necesitari´ıa un muestreo m´as grande, debido a la cantidad de detalles de las estatuas. Se presenta un resultado suficiente como para mostrar el comportamiento del m´etodo sin que suponga un 25 4.3. Modelado de micro-BRDFs Figura 4.4: Thai statue renderizada con CPM y con multisampling. Arriba, iluminada con luz puntual. Abajo, utilizando iluminaci´on natural con mapa de ambiente. De izquierda a derecha: imagen generada con mapas de puntos caracter´ıticos, imagen generada con multisampling, y finalmente, imagen generada utilizando ´unicamente las mallas simplificadas. coste en pre-c´omputo demasiado grande. 4.3. Modelado de micro-BRDFs En esta secci´on se demuestra la utilidad de CPM para modelar BRDFs en base a micro-geometr´ıa. Se utilizan dos modelos, el conejo y el drag´on asi´atico de Stanford. Figura 4.5: Conejo de Stanford renderizado simulando la micro-estructura de un tejido, donde el tama˜no de los hilos se modifica para crear apariencia distinta. A la derecha, peque˜nas varillas verdes son utilizadas para generar una apariencia tipo terciopelo. Variando el grosor, la longitud o la orientaci´on de las mismas se modifica el aspecto del objeto a escala macrosc´opica. En la Figura 4.5 se muestra el conejo de Stanford renderizado con distintos materiales. Tanto el entretejido como el terciopelo utilizan el modelo de reflexi´on de Phong. En ambos casos se puede observar el efecto que tiene sobre la apariencia la modificaci´on de alguna de las propiedades, como el grosor de las fibras. En la Tabla 4.2 pueden verse las estad´ısticas del pre-proceso y la generaci´on de las im´agenes. El tiempo de pre-c´alculo no supera 1 segundo en todos los casos, excepto para el terciopelo con 12 segundos. En la Figura 4.6 se muestra una escena con el modelo asian dragon, cuyo material es una pintura met´alica para la cual se ha usado una BRDF medida de MERL, red-metallic- 26 CAP´ ITULO 4. RESULTADOS Figura 4.6: Asian dragon renderizado utilizando distintas micro-brdfs precalculadas, variando el patr´on de la micro-geometr´ıa, como puede verse en los close-up del material. Se puede observar c´omo la t´ecnica permite modificar la apariencia anisotr´opica del metal: en primer lugar, reflexi´on isotr´opica; el resto, reflexi´on anisotr´opica variando las intensidades. Modelo Dragon1 Dragon2 Dragon3 Bunny1 Bunny2 Bunny3 Bunny4 CPs 28 % 35.8 % 27 % 46.8 % 49.7 % 26.2 % 32.2 % Error 7.2 % 36.2 % 31.8 % 31.7 % 17.6 % 32.8 % 13.35 % Tiempo 601s. 809 s. 754 s. 1001 s. 884 s. 1534 s. 1861 s. Cuadro 4.2: CPs es el n´umero de puntos seleccionados del muestreo original. Se distribuyen 100 muestras para los dragones, 200 para el conejo de tejido y 1000 para el conejo de terciopelo. Es necesario un mayor n´umero de muestras en los tejidos, debido a su mayor complejidad, pero el factor de compresi´on es suficiente para generar las im´agenes de forma eficiente en tiempo de render. Error es el error relativo de la aproximaci´on respecto del muestreo inicial, y Tiempo es el tiempo requerido para renderizar las im´agenes. paint. Se puede observar c´omo la modificaci´on de la estructura a escala microsc´opica tiene efecto en la reflexi´on de la superficie del objeto a escala macrosc´opica. 27 4.4. Funcionamiento del m´etodo 4.4. Funcionamiento del m´etodo En la Figuras 4.7, 4.8 y 4.9 se muestran diversos gr´aficos resultado del estudio del m´etodo bajo distintos par´ametros. Se utilizan dos micro-geometr´ıas, una superficie con patrones poligonales, y otra simulando las fibras de un tejido. Para todas las gr´aficas, en el eje de abcisas figura el n´umero de puntos de muestreo originales sobre la superficie: 100, 200, 400, 700 y 1000. Por encima de 1000, el tiempo de c´omputo es demasiado elevado como para considerar el uso de un muestreo tan elevado en la pr´actica. Figura 4.7: Close-up de las micro-geometr´ıas, y SNR de la se˜nal de entrada para ambos. La Figura 4.7 muestra el ratio se˜nal ruido SNR de la se˜nal orginal, es decir, la radiancia en todos los puntos del muestreo denso sobre Morg, para cada micro-geometr´ıa. Se puede observar como el tejido, con mayor complejidad geom´etrica, presenta menor SNR para un n´umero bajo de puntos, y requiere por tanto de un muestreo mayor. Figura 4.8: Izquierda: porcentaje de puntos seleccionados para la micro-geometr´ıa 1. Derecha: porcentaje de puntos seleccionados para la micro-geometr´ıa 2. CPs97 y CPS99 es la precisi´on utilizada en la aproximaci´on (97 % y 99 %). Tras el prec´omputo, se observa c´omo el n´umero de CPs se adapta a la complejidad, tanto geom´etrica como de textura, ya que el tejido tiene m´as detalle y por tanto requiere de mayor cantidad de puntos. 28 CAP´ ITULO 4. RESULTADOS En cada gr´afica de las Figuras 4.8 y 4.9 se muestran valores para aproximaciones con precisi´on de 97 % y de 99 % (CPs97, CPs99). En la columna izquierda se representa el porcentaje de puntos seleccionados y el error relativo para la micro-geometr´ıa poligonal. A la derecha, para el tejido. El n´umero de puntos seleccionados es mayor al reducir el error permitido. En el caso de la primera micro-geometr´ıa, los valores m´as altos de SNR coinciden con un muestreo de 100 puntos, suficiente para conseguir un error relativo bajo que aumenta a medida que se distribuyen m´as muestras de las necesarias. El tejido, por contra, presenta una mayor complejidad, siendo necesarios entre 400 y 700 muestras para conseguir una buena aproximaci´on. Figura 4.9: Izquierda: error relativo para la micro-geometr´ıa 1. Derecha: error relativo para la micro-geometr´ıa 2. CPs97 y CPS99 es la precisi´on utilizada en la aproximaci´on (97 % y 99 %). Es necesario un mayor muestreo inicial en el caso del tejido, debido a su mayor complejidad. Para M1 basta con 100 puntos para obtener el valor m´ınimo de error, mientras que M2 necesita entre 400 y 700 muestras. Es importante destacar que debido a la aleatoriedad del m´etodo, ser´ıa conveniente repetirlo varias veces y elegir el mejor resultado, pero en las im´agenes que se muestran en este cap´ıtulo no se ha iterado por motivos de eficiencia. 29 6.1. An´alisis de posibles aproximaciones y soluci´on adoptada una segunda aproximaci´on, basada en almacenar, en lugar de la transferencia de radiancia en forma de path punto a punto, la transferencia de radiancia punto a t´exel. As´ı, la idea es calcular un conjunto de puntos caracter´ısticos para cada t´exel respecto de su iluminaci´on indirecta, y utilizar la radiancia incidente en cada punto como una funci´on base de la irradiancia del texel. Sin embargo, esta aproximaci´on requiere calcular una gran cantidad de puntos caracter´ıticos para cada t´exel, repartidos sobre toda la geometr´ıa, ya que un n´umero peque˜no resultar´ıa extremadamente sensible a variaciones de radiancia (p.ej. oclusiones). Estas dos soluciones tendr´ıan un coste computacional y unos requisitos de espacio en memoria muy grandes, y no servir´ıan para reducir el tiempo de render. Adem´as, la iluminaci´on indirecta tiene una propiedad muy ´util: es de baja frecuencia. Esta cualidad es completamente desaprovechada por las dos aproximaciones expuestas anteriormente, por lo que se puede llegar a la conclusi´on de que CPM directamente aplicado a iluminaci´on indirecta no es adecuado, por el tipo de problema a resolver y las soluciones que aporta el framework. Figura 6.1: Efecto de la iluminaci´on indirecta en una geometr´ıa simple. Izquierda: escena generada con iluminaci´on directa. Centro: misma escena, teniendo en cuenta las inter-reflexiones, que hacen visible el color azul de las partes que no reciben luz directamente de la fuente. Derecha: matriz t2t. Se puede observar como s´olo unos pocos t´exels contribuyen sobre el resto, resultando una matriz dispersa. En este contexto, se ha optado por desarrollar una soluci´on basada en la interacci´on lum´ınica entre pares de t´exels para poder sacar partido a la baja frecuencia que muestra la iluminaci´on indirecta. Primero, ´esta es pre-calculada, guardando la contribuci´on de cada t´exel en el resto. Para calcular la iluminaci´on indirecta se muestrea, de forma similar a Hasan et al. [?], cada t´exel ten cada direcci´on wdel conjunto definido en la hemisfera Ωncentrada en la normal ndel t´exel. El c´alculo de radiancia se realiza usando Photon Mapping [Jen96]: se lanzan fotones sobre las superficies, y se hace una estimaci´on de radiancia contando cu´antos de ellos han intersectado en la proyecci´on del texel sobre el objeto. La cantidad de datos que son tratados durante el c´alculo requiere de estructuras out-of-core para evitar posibles problemas de memoria. Se obtiene como resultado una matriz texel2texel (t2t) que almacena la transferencia de radiancia entre t´exels. En la Figura 6.1 puede verse la estructura de la matriz: s´olo unos pocos t´exels contribuyen sobre el resto en la mayor´ıa de las ocasiones, por lo que la matriz es dispersa. Esto es una gran ventaja, ya que permite reducir sustancialmente la canti- 36 CAP´ ITULO 6. ILUMINACI´ ON INDIRECTA PRE-FILTRADA dad de datos a almacenar, puesto que la mayor´ıa de los t´exels no contribuyen unos a otros. Una vez constru´ıda la matriz, las direcciones de entrada y salida para las cuales se tiene almacenada la radiancia son conocidas. Se puede por tanto obtener una BRDF indirecta, modelada mediante los valores de radiancia tabulados. Aprovechando la baja frecuencia de la matriz t2t, se puede expresar la BRDF en una base de harm´onicos esf´ericos, para lo cual se requeri´ıan unos pocos coeficientes para reconstruir la se˜nal original. 6.2. Discusi´on Incorporar iluminaci´on indirecta al pre-filtrado de la apariencia tiene una serie de ventajas e inconvenientes que se detallan en esta secci´on. El primer problema es que no se tiene en cuenta las oclusiones entre t´exels: el pre-c´alculo se hace suponiendo que ning´un otro objeto se interpone en el camino de transferencia de radiancia entre dos t´exels. Adem´as de esto, tambi´en permanecen las limitaciones propias de la mayor´ıa de m´etodos de pre-filtrado de reflectancia, inclu´ıdo CPM, como las oclusiones parciales de la superficie cubierta por un t´exel, y que pueden verse en el Cap´ıtulo 5. Los requisitos temporales de la fase de pre-c´alculo constituyen otro problema: son muy grandes si se pretende evitar el ruido en la soluci´on. Adem´as, la iluminaci´on indirecta pre-filtrada genera unas estructuras de gran tama˜no en memoria. Como ejemplo, la matriz texel2texel mostrada en la Figura 6.1 ocupa alrededor de 80 GB sin comprimir. Sin embargo, su tama˜no se puede reducir f´acilemente aprovechando que es una matriz sparse y que la iluminaci´on es de baja frecuencia (bastar´ıa un n´umero peque˜no de coeficientes de harm´onicos esf´ericos). El m´etodo tiene como punto a favor la posibilidad incluir otros efectos globales (por ejemplo el SSS) mediante una adaptaci´on relativamente sencilla. Sin embargo, en objetos que no sean ´opticamente densos la matriz t2tdejar´ıa de ser dispersa, convirti´endola en low-rank(contin´ua siendo comprimible, pero con otro m´etodo). Con objetos ´opticamente densos, seguir´ıa siendo dispersa como demuestra, por ejemplo, el trabajo de Peers et al. [PvBM+06]. Finalmente, destacar que si se asume luz direccional, o suficientemente alejada como para que las los rayos incidentes al objeto sean paralelos, el m´etodo puede considerarse como pre-filtrado de Precomputed Radiance Transfer [SLSS03], por lo que no ser´ıa necesario inclu´ır la matriz de transferencia de radiancia entre texelstexel2texel. 37 6.2. Discusi´on 38 Cap´ıtulo 7 Conclusiones y trabajo futuro En este trabajo se ha desarrollado un m´etodo de pre-filtrado de la apariencia basado en trabajo previo reciente, y se ha integrado en el trazador de rayos Mjolnir. Los resultados han sido comparados contra im´agenes generadas con multisampling, comprobando c´omo CPM es mucho m´as eficiente. Se ha demostrado tambi´en la utilidad del framework para modelar BRDFs basadas en micro-geometr´ıa, y se ha desarrollado por ´ultimo una prueba de concepto para considerar la iluminaci´on indirecta en el pre-filtrado de la apariencia. La experiencia obtenida con el desarrollo de este proyecto ha permitido constatar la complejidad de preservar los detalles de alta frecuencia en im´agenes sint´eticas. El trabajo realizado en el presente PFC posibilita una representaci´on eficiente en tiempo de render de objetos con geometr´ıa y reflectancia complejas. El m´etodo ha sido validado con distintas escenas de prueba, confirmando su correcto funcionamiento en la mayor´ıa de los casos, a excepci´on de las limitaciones que se discuten en el Cap´ıtulo 5. La prueba de concepto de la iluminaci´on indirecta ofrece diferentes posibilidades para su inclusi´on en el filtrado, llegando a la conclusi´on de que CPM no es una aproximaci´on adecuada para ello y dando una soluci´on alternativa. 7.1. Trabajo Futuro Un trabajo futuro claro es explorar en mayor profundidad el desarrollo de un algoritmo de iluminaci´on indirecta pre-filtrada, a partir de la prueba de concepto creada en este PFC. Otra v´ıa de ampliaci´on futura interesante ser´ıa la posibilidad de incorporar otros efectos globales al filtrado, a parte de la iluminaci´on indirecta, como el subsurface scattering. Para el modelado del SSS, una aproximaci´on basada en Shell Texture Functions [CTW+04] representa un camino prometedor a explorar. Se podr´ıa as´ı obtener un m´etodo capaz de preservar la apariencia de objetos con casi cualquier tipo de propiedades geom´etricas, de albedo, o de interacci´on lum´ınica. Otro aspecto a mejorar ser´ıa re-formular de alg´un modo CPM para evitar el filtro de caja inherente al m´etodo, y por tanto eliminar por completo la aparici´on de aliasing. Queda tambi´en abierta la posiblidad de manejar objetos deformables, para lo cual el trabajo de Nowrouzezahrai et al. [NKF09] podr´ıa ser un buen punto de partida. Por ´ultimo, una buena opci´on a explorar ser´ıa explotar el paralelismo masivo de las GPUs actuales para aumentar la eficiencia del m´etodo de muestreo aleatorio de columnas y hacer el m´etodo 39 7.2. Conclusiones personales de render amigable a GPU, para permitir este tipo de filtrado en aplicaciones de tiempo real. 7.2. Conclusiones personales El hecho de haber desarrollado el proyecto en el textitGraphics and Imaging Lab del GIGA me ha facilitado conocer m´as de cerca c´omo se trabaja en investigaci´on, algo que parece estar muy lejano durante los a˜nos de carrera. El PFC ha supuesto un reto del que se pueden extraer muchas valoraciones personales positivas. Me ha ofrecido la posibilidad de trabajar en un proyecto de cierta embergadura y me ha servido para aprender a gestionar tanto los problemas t´ecnicos que aparecen en la vida real como el tiempo estimado y la planificaci´on que requieren. Me ha permitido tambi´en aumentar mis conocimientos en inform´atica gr´afica y en otras disciplinas relacionadas, dado el entorno multidisciplinar del laboratorio y gracias a la colaboraci´on con universidades extranjeras: la experiencia ha sido muy beneficiosa. La relaci´on con Adri´an y Diego ha sido muy buena, as´ı como con el resto de compa˜neros, de los que he podido aprender d´ıa a d´ıa y gracias a los cuales he aumentado mi nivel de auto-exigencia y la atenci´on por los detalles y el trabajo bien hecho. 7.3. Desarrollo del proyecto El tiempo empleado para la realizaci´on del presente PFC ha sido de 1 a˜no y 3 meses, desde abril de 2011 hasta junio de 2012, en los que la jornada laboral vari´o desde las 4 o 5 horas diarias en los primeros meses hasta las 8 en los 4 ´ultimos. Es necesario destacar el par´on durante los meses de marzo, abril y mayo de 2012, donde surgi´o la posibilidad de participar en una publicaci´on sometida finalmente al congreso internacional de inform´atica gr´afica SIGGRAPH ASIA 2012, y cuyo trabajo no se incluye aqu´ı debido a que es independiente este proyecto. En el gr´afico de la Figura 7.1 se presentan los plazos con mayor detalle. Figura 7.1: Diagrama de Gantt para los plazos del PFC. 40 Bibliograf´ıa [APS00] Michael Ashikhmin, Simon Premoze, and Peter Shirley, A microfacet-based brdf generator, SIGGRAPH, 2000, pp. 65–74. [BN12] ´ Eric Bruneton and Fabrice Neyret, A survey of non-linear pre-filtering methods for efficient and accurate surface shading, IEEE Trans. Vis. Comput. Graph. 18 (2012), no. 2, 242–260. [COM98] Jonathan Cohen, Marc Olano, and Dinesh Manocha, Appearance-preserving simplification, Proceedings of the 25th annual conference on Computer graphics and interactive techniques (New York, NY, USA), SIGGRAPH ’98, ACM, 1998, pp. 115–122. [CT82] R. L. Cook and K. E. Torrance, A reflectance model for computer graphics, ACM Trans. Graph. 1(1982), no. 1, 7–24. [CTW+04] Yanyun Chen, Xin Tong, Jiaping Wang, Stephen Lin, Baining Guo, and Heung-Yeung Shum, Shell texture functions, ACM Trans. Graph. 23 (2004), no. 3, 343–353. [FH09] Jir´ı Filip and Michal Haindl, Bidirectional texture function modeling: A state of the art survey, IEEE Trans. Pattern Anal. Mach. Intell. 31 (2009), no. 11, 1921–1940. [HSRG07] Charles Han, Bo Sun, Ravi Ramamoorthi, and Eitan Grinspun, Frequency domain normal map filtering, ACM Transactions on Graphics (Proceedings of SIGGRAPH 2007) 26 (2007), no. 3, 28:1–28:12. [Jen96] Henrik Wann Jensen, Global illumination using photon maps, Proceedings of the eurographics workshop on Rendering techniques ’96 (London, UK, UK), Springer-Verlag, 1996, pp. 21–30. [Kaj86] James T. Kajiya, The rendering equation, SIGGRAPH Comput. Graph. 20 (1986), no. 4, 143–150. [MCT+05] Wan-Chun Ma, Sung-Hsiang Chao, Yu-Ting Tseng, Yung-Yu Chuang, Chun- Fa Chang, Bing-Yu Chen, and Ming Ouhyoung, Level-of-detail representation of bidirectional texture functions for real-time rendering, Proceedings of the 2005 symposium on Interactive 3D graphics and games (New York, NY, USA), I3D ’05, ACM, 2005, pp. 187–194. [MMK03] Jan Meseth, Gero M¨uller, and Reinhard Klein, Preserving realism in realtime rendering of bidirectional texture functions, OpenSG Symposium 2003, Eurographics Association, Switzerland, April 2003, pp. 89–96. [MP11] Pavlos Mavridis and Georgios Papaioannou, High quality elliptical texture filtering on GPU, Symposium on Interactive 3D Graphics and Games (New York, NY, USA), I3D ’11, ACM, 2011, pp. 23–30. [MPBM03] Wojciech Matusik, Hanspeter Pfister, Matt Brand, and Leonard McMillan, A data-driven reflectance model, ACM Transactions on Graphics 22 (2003), no. 3, 759–769. 41 BIBLIOGRAF´ IA [NKF09] Derek Nowrouzezahrai, Evangelos Kalogerakis, and Eugene Fiume, Shadowing dynamic scenes with arbitrary brdfs, Computer Graphics Forum: Eurographics Conference 28 (2009). [OB10] Marc Olano and Dan Baker, Lean mapping, Proceedings of the 2010 ACM SIGGRAPH symposium on Interactive 3D Graphics and Games (New York, NY, USA), I3D ’10, ACM, 2010, pp. 181–188. [ODR09] Ryan S. Overbeck, Craig Donner, and Ravi Ramamoorthi, Adaptive Wavelet Rendering, ACM Transactions on Graphics (SIGGRAPH Asia 09) 28 (2009), no. 5, 1–12. [OKS03] Marc Olano, Bob Kuehne, and Maryann Simmons, Automatic shader level of detail, Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware (Aire-la-Ville, Switzerland, Switzerland), HWWS ’03, Eurographics Association, 2003, pp. 7–14. [PDM06] M. W. Mahoney P. Drineas and S. Muthukrishnan, Polynomial time algorithm for column-row based relative-error low-rank matrix approximation, DIMACS Technical Report (2006). [Pel05] Fabio Pellacini, User-configurable automatic shader simplification, ACM Trans. Graph. 24 (2005), no. 3, 445–452. [Pho75] Bui Tuong Phong, Illumination for computer generated pictures, Commun. ACM 18 (1975), no. 6, 311–317. [PvBM+06] Pieter Peers, Karl vom Berge, Wojciech Matusik, Ravi Ramamoorthi, Jason Lawrence, Szymon Rusinkiewicz, and Philip Dutr´e, A compact factored representation of heterogeneous subsurface scattering, ACM Trans. Graph. 25 (2006), no. 3, 746–753. [SLSS03] Peter-Pike Sloan, Xinguo Liu, Heung-Yeung Shum, and John Snyder, Bi-scale radiance transfer, ACM Trans. Graph. 22 (2003), no. 3, 370–375. [TLQ+08] Ping Tan, Stephen Lin, Long Quan, Baining Guo, and Harry Shum, Filtering and rendering of resolution-dependent reflectance models, IEEE Transactions on Visualization and Computer Graphics 14 (2008), no. 2, 412–425. [TPC+10] Marco Tarini, Nico Pietroni, Paolo Cignoni, Daniele Panozzo, and Enrico Puppo, Practical quad mesh simplification, Computer Graphics Forum (Special Issue of Eurographics 2010 Conference) 29 (2010), no. 2, 407–418. [VT04] M. Alex. O. Vasilescu and Demetri Terzopoulos, Tensortextures: Multilinear image-based rendering, ACM TRANSACTIONS ON GRAPHICS, 2004, pp. 336–342. [WAT92] Stephen H. Westin, James R. Arvo, and Kenneth E. Torrance, Predicting reflectance functions from complex surfaces, ACM Transactions on Graphics (1992). [WDR09] Hongzhi Wu, Julie Dorsey, and Holly Rushmeier, Characteristic point maps, Computer Graphics Forum 28 (2009), no. 4, 1227–1236. [WDR11] Hongzhi Wu, Julie Dorsey, and Holly Rushmeier, Physically-based interactive bi-scale material design, ACM Trans. Graph. 30 (2011), 145:1–145:10. [Wil83] Lance Williams, Pyramidal parametrics, SIGGRAPH Comput. Graph. 17 (1983), no. 3, 1–11. 42