mestrado em computao grfica e ambientes virtuais universidade
mestrado em computação gráfica e ambientes virtuais universidade do minho BI-DIRECTIONAL PATH TRACING Iluminação e Foto. Realismo FILIPE MARREIROS, SÉRGIO VALENTIM 2004 1
BI-DIRECTIONAL PATH TRACING Bi-Directional Path Tracing - Método com base no pixel - Computa o transporte de fluxos de luz na cena para cada pixel da imagem - Introduzido em simultâneo por - Lafortune, Willems, 1993 - Veach, Guibas, 1994 ILUMINAÇÃO E FOTOREALISMO 2
BI-DIRECTIONAL PATH TRACING Antecedentes - Todos os algoritmos eram construídos à volta da importância de um dos seguintes factores: - viewing point (ex: ray tracing, ray tracing distribuído) - view-dependent - das fontes de luz (ex: radiosidade) - view-independent - Não existia portanto um algoritmo que tomasse em consideração ambos os factores de interesse. ILUMINAÇÃO E FOTOREALISMO 3
BI-DIRECTIONAL PATH TRACING Bi-Directional Path Tracing - Têm em consideração os 2 factores (ponto de vista e as fontes de luz) - a importância atribuída é idêntica. - Ideia Base: - As partículas são disparadas ao mesmo tempo do ponto de vista e de 1 fonte de luz, ± da mesma forma. - Todas os pontos de intersecção com os percursos de partículas são conectados usando shadow rays. - A contribuição apropriada é adicionada ao fluxo do pixel em questão. ILUMINAÇÃO E FOTOREALISMO 4
BI-DIRECTIONAL PATH TRACING Exemplo ILUMINAÇÃO E FOTOREALISMO 5
BI-DIRECTIONAL PATH TRACING Exemplo ILUMINAÇÃO E FOTOREALISMO 6
BI-DIRECTIONAL PATH TRACING Vantagens - Esta abordagem permite que várias contribuições de luz sejam tomadas em consideração. - Ou seja, não apenas da fonte de luz primária mas de uma forma probabilística também de importantes fontes de luz secundárias, terceárias, . . . ILUMINAÇÃO E FOTOREALISMO 7
BI-DIRECTIONAL PATH TRACING Pontos e direcções dos percursos - Percurso da luz: -x 0, x 1, x 2, . . . , x. Nl ; -onde xi+1 é o ponto visto pelo ponto xi na direcção Θxi - Percurso do olho: -y 0, y 1, y 2, . . . , y. Ne-1 ; -onde yj+1 é o ponto que vê o ponto yj na direcção Θyj+1 ILUMINAÇÃO E FOTOREALISMO 8
BI-DIRECTIONAL PATH TRACING Atribuição das direcções e pontos iniciais - Direcções e pontos iniciais: - Percurso do olho: Θy 0 , y 0 - Percurso da luz: Θx 0 , x 0 - Para definir os pontos e direcções iniciais é necessário recorrer a amostras obtidas pelas pdfs (probability distribution function) - Estas pdf são baseadas no princípio de importance sampling. - Assegura que mais partículas de luz sejam disparadas de emissores brilhantes em vez de uma distribuição uniforme ILUMINAÇÃO E FOTOREALISMO 9
BI-DIRECTIONAL PATH TRACING Importance Sampling - É uma técnica matemática que permite que a convergência do algoritmo de Monte Carlo seja mais rápida (aumento da eficiência). - Existe uma atribuição de pesos diferenciados (importância) às amostras com o objectivo de aumentar a contribuição para o integral - maior amostragem nos valores que contribuem mais - [Smits et al. 92], introduziu o conceito de Importance Sampling optimizando o algoritmo de radiosidade (radiosidade progressiva). - No algoritmo proposto é disparada luz das fontes de luz e importância do viewpoint ILUMINAÇÃO E FOTOREALISMO 10
BI-DIRECTIONAL PATH TRACING pdfs das direcções e pontos iniciais -Percurso da luz: - Le (x, Θx) – Radiância auto-emitida do ponto x na direcção Θx - L – factor de normalização da pdf ILUMINAÇÃO E FOTOREALISMO 11
BI-DIRECTIONAL PATH TRACING pdfs das direcções e pontos iniciais - Percurso do olho: - g(y, Θy)– Função que atribui o valor 1 aos pontos e direcções (y, Θy) que contribuem para o fluxo e 0 caso contrário. - G – factor de normalização da pdf ILUMINAÇÃO E FOTOREALISMO 12
BI-DIRECTIONAL PATH TRACING Atribuição das restantes direcções e pontos - Direcções e pontos restantes: - Percurso do olho: Θyj+1 , yj+2 - Percurso da luz: Θxi+1 , xi+1 - Recorre-se mais uma vez às pdfs - baseadas também no princípio de importance sampling. - São designadas por pdf subcriticas (spdf), porque não integram a 1. - técnica designada por Russian roulette. - evita percursos infinitos garantindo que a recursão termina. ILUMINAÇÃO E FOTOREALISMO 13
BI-DIRECTIONAL PATH TRACING pdfs das restantes direcções e pontos - Percurso da luz: Bi-directional reflection distribution function (BRDF) ILUMINAÇÃO E FOTOREALISMO 14
BI-DIRECTIONAL PATH TRACING pdfs das restantes direcções e pontos - Percurso do olho: ILUMINAÇÃO E FOTOREALISMO 15
BI-DIRECTIONAL PATH TRACING Estimativa primária do fluxo - Todos os pontos dos percursos traçados raios de luz e do olho são conectados - De acordo com técnica de Importance Sampling: - Os factores <Cij> são estimativas do fluxo encontrado por i reflecções no percurso da luz e j reflecções no percurso do olho ILUMINAÇÃO E FOTOREALISMO 16
BI-DIRECTIONAL PATH TRACING Estimativa primária do fluxo - Existem 3 casos distintos: - i=0, j=0 fonte de luz vista directamente pelo observador; i=0, j>0 contribuições que chegam ao olho através do percurso do olho; i>0, j>0 contribuições que chegam ao olho através do percurso do olho e do percurso da luz; ILUMINAÇÃO E FOTOREALISMO 17
BI-DIRECTIONAL PATH TRACING Estimativa do fluxo (Caso i=0, j=0) - Estimativa do fluxo recebido por uma fonte de luz directamente vista através do pixel em consideração: ILUMINAÇÃO E FOTOREALISMO 18
BI-DIRECTIONAL PATH TRACING Estimativa do fluxo (Caso i=0, j>0) - Estimativa do fluxo que chega ao olho vindo de uma fonte de luz através do percurso do olho Direcção do ponto x para o ponto y Visibilidade ILUMINAÇÃO E FOTOREALISMO 19
BI-DIRECTIONAL PATH TRACING Estimativa do fluxo (Caso i>0, j>0) - Estimativa do fluxo que chega ao olho vindo de uma fonte de luz, com i reflecções no percurso da luz e j reflecções no percurso do olho Direcção do ponto x para o ponto y Visibilidade ILUMINAÇÃO E FOTOREALISMO 20
BI-DIRECTIONAL PATH TRACING Atribuição de pesos - Como seleccionar os pesos das contribuições ? - Condição: o somatório dos pesos para a estimativas dos fluxos que chegam ao olho tem de ser igual a 1 - Opção que equivale ao algoritmo path tracing clássico ILUMINAÇÃO E FOTOREALISMO 21
BI-DIRECTIONAL PATH TRACING Atribuição de pesos - Alternativa: - Para superfícies especulares atribui-se mais peso ao percurso do olho - Para superfícies difusas a contribuições do percurso da luz são mais importantes - O peso é proporcional ao grau de especularidade da superfície no ponto no percurso do olho ILUMINAÇÃO E FOTOREALISMO 22
BI-DIRECTIONAL PATH TRACING Estimativa secundária do fluxo - Problema com primeira estimativa do fluxo - Grande variância (imagens com turbulência aleatória) -Solução: usar estimativa secundária - Média de várias estimativas primárias para cada pixel ILUMINAÇÃO E FOTOREALISMO 23
BI-DIRECTIONAL PATH TRACING Implementação e resultados - Com recurso a rotinas Rayshade - brdf’s com modelo de Phong - Outro exemplo: Render. Park (linux) ILUMINAÇÃO E FOTOREALISMO 24
BI-DIRECTIONAL PATH TRACING Referências - Lafortune, E. , Willems, Y. D. : Bi-directional Path-Tracing, Compugraphics, 1993 - Eric Veach, Leonidas J. Guibas: Bidirectional Estimators for Light Transport, Proceedings of Fifth Eurographics Workshop on Rendering, 1994 ILUMINAÇÃO E FOTOREALISMO 25
BI-DIRECTIONAL PATH TRACING Renderings ILUMINAÇÃO E FOTOREALISMO 26
BI-DIRECTIONAL PATH TRACING Renderings ILUMINAÇÃO E FOTOREALISMO 27
- Slides: 27