A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

BI-DIRECTIONAL PATH TRACING

Apresentações semelhantes


Apresentação em tema: "BI-DIRECTIONAL PATH TRACING"— Transcrição da apresentação:

1 BI-DIRECTIONAL PATH TRACING
mestrado em computação gráfica e ambientes virtuais universidade do minho BI-DIRECTIONAL PATH TRACING Iluminação e FotoRealismo FILIPE MARREIROS, SÉRGIO VALENTIM 2004

2 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

3 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.

4 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.

5 Exemplo

6 Exemplo

7 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, ...

8 Pontos e direcções dos percursos
Percurso da luz: x0, x1, x2, ..., xNl ; onde xi+1 é o ponto visto pelo ponto xi na direcção Θxi Percurso do olho: y0, y1, y2, ..., yNe-1 ; onde yj+1 é o ponto que vê o ponto yj na direcção Θyj+1

9 Atribuição das direcções e pontos iniciais
Percurso do olho: Θy0 , y0 Percurso da luz: Θx0 , x0 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

10 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

11 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

12 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

13 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.

14 pdfs das restantes direcções e pontos
Percurso da luz: Bi-directional reflection distribution function (BRDF)

15 pdfs das restantes direcções e pontos
Percurso do olho:

16 Estimativa primária do fluxo
Todos os pontos dos percursos traçados dos 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

17 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;

18 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:

19 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

20 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

21 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

22 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

23 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

24 Implementação e resultados
Com recurso a rotinas Rayshade brdf’s com modelo de Phong Outro exemplo: RenderPark (linux)

25 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

26 Renderings

27 Renderings


Carregar ppt "BI-DIRECTIONAL PATH TRACING"

Apresentações semelhantes


Anúncios Google