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

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

Iluminação e FotoRealismo Iluminação Global Biased Monte Carlo Methods Luís Paulo Peixoto dos Santos.

Apresentações semelhantes


Apresentação em tema: "Iluminação e FotoRealismo Iluminação Global Biased Monte Carlo Methods Luís Paulo Peixoto dos Santos."— Transcrição da apresentação:

1 Iluminação e FotoRealismo Iluminação Global Biased Monte Carlo Methods Luís Paulo Peixoto dos Santos

2 Competências GERAIS : Relacionar os vários métodos de iluminação global com o modelo geral sustentado pela equação de rendering, inferindo quais os fenómenos de iluminação modelados; Projectar, implementar e avaliar soluções para novos problemas de iluminação por recombinação de soluções conhecidas; Reconhecer as limitações funcionais e/ou de desempenho associadas a cada algoritmo de iluminação global; Iluminação e Fotorealismo 2007/08 2 E SPECÍFICAS :

3 Conteúdo Introdução –Métodos com e sem Bias –Partição do integral A Cache de Irradiância Iluminação Global Interactiva Iluminação e Fotorealismo 2007/08 3

4 Biased vs. Unbiased Os métodos de Monte Carlo sem bias: – garantem a convergência para soluções correctas com o aumento do nº de amostras –garantem que a solução obtida é correcta Mas –Exigem um nº de amostras elevado, logo elevado tempo de computação Iluminação e Fotorealismo 2007/08 4 Os métodos de Monte Carlo com bias: –Convergem mais rapidamente (menos amostras) para uma solução visualmente agradável Mas –Não há garantias de que esta solução seja correcta –Não há garantias de que a solução melhore aumentando o nº de amostras

5 Partição do Integral O integral de transporte de luz pode ser particionado em vários integrais, cada correspondendo a vários subdomínios disjuntos, sendo cada integral resolvido separadamente, eventualmente recorrendo a abordagens muito diferentes Iluminação e Fotorealismo 2007/08 5 Exemplo: // L directa // L indirecta especular // L indirecta difusa O único requisito é que os subdomínios sejam disjuntos, isto é, que nenhuma direcção ω i seja considerada em 2 ou mais integrais

6 Partição do Integral Iluminação e Fotorealismo 2007/08 6 A composição destes resultados parciais resulta na imagem final. D IRECTA E SPECULAR I NDIRECTA D IFUSA I NDIRECTA

7 Partição do Integral Iluminação e Fotorealismo 2007/08 7

8 Partição do Integral Iluminação directa –Eventualmente, calculada por integração de Monte Carlo –Apresenta descontinuidades (altas frequências) Iluminação especular indirecta –Calculada deterministicamente (cuidado: glossiness) –Apresenta descontinuidades (altas frequências) Iluminação difusa indirecta –Não direccional: Integração de Monte Carlo requer amostragem de um grande número de direcções –Varia suavemente ao longo das superfícies (baixa frequência) Iluminação e Fotorealismo 2007/08 8

9 CACHE DE IRRADIÂNCIA Greg Ward, "A Ray Tracing Solution for Diffuse Interreflection", Computer Graphics, 22(4), 1988 Greg Ward and Paul Heckbert, "Irradiance Gradients", 1992 Iluminação e Fotorealismo 2007/08 9

10 Cache de Irradiância P1 – Calcular irradiância amostrando a semi-esfera (Monte Carlo) P2 – Calcular irradiância amostrando a semi-esfera (Monte Carlo) P3 – Se dentro da área de interpolação de P1 e/ou P2 então Interpolar! Iluminação e Fotorealismo 2007/08 10 p1p2 p3

11 Cache de Irradiância: Cálculo Irradiância – fluxo radiante incidente por unidade de área –Calcula-se a partir da radiância incidente como: Iluminação e Fotorealismo 2007/08 11 Usando amostragem estratificada pesada com o cosseno (importância):

12 Cache de Irradiância: Cálculo A irradiância num ponto p da cena pode ser calculada: –Extensivamente: se não houver nenhum valor de irradiância calculado previamente para outro ponto numa vizinhança válida de p –Por Interpolação: se forem encontrados valores de irradiância calculados previamente para outros pontos numa vizinhança válida de p Aos valores de irradiância calculados extensivamente chamamos amostras As amostras têm que ser armazenadas nalguma estrutura de dados para uso posterior A esta estrutura de dados chamamos cache de irradiância Iluminação e Fotorealismo 2007/08 12

13 Cache de Irradiância: Armazenamento As amostras têm que ser guardadas no espaço 3D para poderem ser reutilizadas Não são armazenadas com a geometria (superfície onde foram calculadas) para permitir reutilização com outras superfícies vizinhas Devem ser guardadas numa estrutura que ordene o espaço 3D para permitir procuras rápidas de várias amostras numa vizinhança espacial Usam-se octrees ou kd-trees Iluminação e Fotorealismo 2007/08 13

14 Cache de Irradiância: Vizinhança Cada amostra de irradiância armazenada na cache corresponde ao valor da irradiância calculada num ponto p i do espaço. A esta amostra chamamos E(p i ) Para calcular a irradiância E(p) num ponto p procura-se primeiro na cache quais as amostras E(p i ) que podem ser usadas A decisão de se um ponto p i pode ser usado para estimar a irradiância em p baseia-se na estimativa do erro incorrido por usar E(p i ) em vez de calcular E(p) Esta estimativa do erro é um limite máximo e é representada por O erro máximo aceitável, a, é um parâmetro usualmente fornecido pelo utilizador O ponto p i só é usado para estimar E(p) se Iluminação e Fotorealismo 2007/08 14

15 Cache de Irradiância: Vizinhança Iluminação e Fotorealismo 2007/08 15 A estimativa de erro depende de: - distância euclidiana entre p e p i - distância média das superfícies a p i ; calculada como média harmónica durante o processo de amostragem da semiesfera. - cosseno entre as normais das superfícies em p e p i

16 Cache de Irradiância: Interpolação O valor de E(p) é dado pela média pesada dos E(p i ) determinados como estando dentro de uma vizinhança válida; Os pesos a usar nesta média pesada são o inverso da estimativa de erro: Iluminação e Fotorealismo 2007/08 16

17 Cache de Irradiância: Rendering Conhecido o valor da irradiância E(p), o valor da radiância reflectida de forma difusa na direcção do observador é dada por Iluminação e Fotorealismo 2007/08 17 Este método aplica-se apenas a superfícies difusas, pois E(p) não contem qualquer informação sobre a direcção de incidência da radiância. Os valores de podem ser partilhados entre frames onde a posição do observador muda, pois respeitam apenas a informação difusa Nota: a geometria, materiais e iluminação, no entanto, têm que ser fixas, sendo ρ o coeficiente de reflexão difusa

18 Cache de Irradiância: Parâmetros O algoritmo da cache de irradiância usualmente aceita os seguintes parâmetros; –maxdepth – até que profundidade deve continuar a recursividade –maxerror – qual o erro máximo aceitável no processo de interpolação quanto menor mais amostras serão calculadas –nsamples – quantas amostras usar para amostrar a componente difusa indirecta da semiesfera (nº de raios a disparar por cálculo extenso da irradIância) quanto maior mais raios serão disparados por amostra Iluminação e Fotorealismo 2007/08 18

19 Cache de Irradiância: Posicionamento das amostras Iluminação e Fotorealismo 2007/08 19 As amostras concentram-se nas zonas onde a distância do ponto p i às restantes superfícies é menor: cantos.

20 Cache de Irradiância: Defeitos visíveis O resultado do processo de interpolação é claramente visível O processo de interpolação aqui descrito é linear; não tem em consideração variações com translações ou rotações Durante o processo de amostragem da semiesfera é possível estimar como varia a irradiância com as translações e rotações: cálculo dos gradientes Estes gradientes podem ser usados para fazer interpolação de 2ª ordem obtendo uma diminuição significativa nestes defeitos Iluminação e Fotorealismo 2007/08 20 D IFUSA I NDIRECTA

21 Cache de Irradiância: Defeitos visíveis A imagem é percorrida de forma ordenada, linha a linha Inicialmente a cache está vazia Como resultado as amostras são calculadas de forma ordenada também, resultando em muitas extrapolações: utilização de apenas uma amostra para estimar E(p) Uma primeira passagem pelo plano da imagem, processando apenas alguns dos pixeis (subamostragem), permitiria inicializar a cache, reduzindo o número de extrapolações Iluminação e Fotorealismo 2007/08 21 D IFUSA I NDIRECTA

22 ILUMINAÇÃO GLOBAL INTERACTIVA Iluminação e Fotorealismo 2007/08 22

23 Fundamentos CÁLCULO DAS INTERREFLEXÕES DIFUSAS PRÉ-PROCESSAMENTO 1.Seguir um número reduzido de trajectos a partir das fontes de luz 2.Construir fontes de luz virtuais (VPL – Virtual Point Light sources) nos pontos de intersecção // representam a distribuição da radiância indirecta na cena RENDERING TIME 1.Incluir estas fontes de luz (VPL) explicitamente no integral para cada ponto Iluminação e Fotorealismo 2007/08 23 Keller, A; Instant Radiosity; Proc. of SIGGRAPH97, 1997 Wald, Kollig, Benthin, Keller, Slusallek; Interactive Global Illumination using fast ray tracing; 13th Eurographics Workshop on Rendering, 2002

24 Integração sobre áreas Radiância reflectida definida sobre ângulos sólidos: Relação entre ângulo sólido e área Equação de Rendering definida sobre áreas: Iluminação e Fotorealismo 2007/08 24 p0p0 p2p2 p1p1 ωrωr ωiωi θiθi θ i

25 Pré-Processamento: Contribuição de um trajecto Qual a contribuição deste trajecto, P(p 6 ), para a radiância incidente em p 0 ? 1.Seleccionar estocasticamente um ponto na superfície da fonte de luz : Iluminação e Fotorealismo 2007/08 25 p0p0 p1p1 p2p2 p3p3 p4p4 p5p5 p6p6

26 Pré-Processamento: Contribuição de um trajecto Iluminação e Fotorealismo 2007/08 26 p0p0 p1p1 p3p3 p5p5 p6p6 1.Seleccionar estocasticamente uma direcção de saída ω 6 e determinar p 5 disparando um raio de p 6 na direcção ω 6 (ω 6 =p 5 -p 6 =p 6 p 5 ) 2.A radiância incidente em p 5 devido a p 6 é 3.A contribuição da VPL em p 5 para um ponto p qualquer da cena será a sua radiância incidente vezes a BRDF: p2p2 p4p4

27 Pré-Processamento: Contribuição de um trajecto Iluminação e Fotorealismo 2007/08 27 p0p0 p1p1 p3p3 p5p5 p6p6 1.Seleccionar estocasticamente uma direcção de saída ω 5 e determinar p 4 disparando um raio de p 5 na direcção ω 5 2.A radiância incidente em p 4 devido a p 6 é p2p2 p4p4

28 Pré-Processamento: Contribuição de um trajecto Iluminação e Fotorealismo 2007/08 28 p0p0 p1p1 p3p3 p5p5 p6p6 1.Seleccionar estocasticamente uma direcção de saída ω 4 e determinar p 3 disparando um raio de p 4 na direcção ω 4 2.A radiância incidente em p 3 devido a p 6 é Generalizando a radiância incidente em p i-l devido a um ponto p i na superfície de uma fonte de luz e a um trajecto de comprimento l é dada por: p2p2 p4p4

29 Rendering: Amostragem da VPL Determinar ponto p 1 de intersecção de raio primário Somar a contribuição de TODAS as VPL: onde: é a radiância incidente em p i associado à VPL i (dada pela expressão do acetato anterior) é a BRDF em p i corresponde ao termo geométrico entre p 1 e a VPL i corresponde à visibilidade entre p 1 e VPL i calculada disparando um shadow ray Iluminação e Fotorealismo 2007/08 29 p0p0 p1p1 p3p3 p5p5 p6p6 p2p2 p4p4

30 Amostragem da VPL: exemplo Consideremos p 2. Propagação a partir de p 6 resulta em: Recolha a partir de p 0 resulta em (apenas para VPL 2 ): Iluminação e Fotorealismo 2007/08 30 p0p0 p1p1 p3p3 p5p5 p6p6 p2p2 p4p4

31 Termo Geométrico Iluminação e Fotorealismo 2007/08 31 Se a distância de p 1 a p i é pequena (0) então o termo geométrico toma um valor muito grande Para evitar esta situação G toma o valor zero se a distância for menor que um determinado limite: A truncagem de G introduz bias no algoritmo

32 Critério de paragem A decisão de quando terminar um trajecto construído a partir da fonte de luz é tomada recorrendo a roleta russa A probabilidade de continuar o trajecto deve ser igual à atenuação que a energia do fotão sofre naquela intersecção: Se então o trajecto termina Senão o trajecto continua A contribuição deste trajecto (energia da próxima VPL) é dividida pela probabilidade de continuar, p continue Iluminação e Fotorealismo 2007/08 32

33 Critério de paragem A energia de VPL i-1 relativamente a VPL i é dada por Uma vez que usamos roleta russa passa a ser Iluminação e Fotorealismo 2007/08 33 Todas as VPL do mesmo trajecto têm a mesma energia

34 Pré-Processamento: Algoritmo PreProcess() { Para i=1 até N_Paths { Seleccionar aleatoriamente a fonte de luz L Seleccionar ponto na fonte de luz p com probabilidade pdf contrib = L.Le / pdf Seleccionar direcção ω o com probabilidade pdf contrib *= cos θ / pdf p, N p = intersecta (raio(p, ω o ), cena) Enquanto intersecção com sucesso { ω i = ω o Criar VPL (p, contrib, ω i, N p ) N_VPLs++ Seleccionar direcção ω o com probabilidade pdf pcontinue = BRDF (p, ω i, ω o )* cos θ / pdf if (RandomFloat()>pcontinue) termina trajecto p, N p = intersecta (raio(p, ω o ), cena) } Iluminação e Fotorealismo 2007/08 34

35 Rendering: Algoritmo Render() { // ponto p da cena e raio com direcção dir L = L += Para i=1 até N_VPLs { se (distância (p, VPL[i].p) <= min_d) continue; L_aux = VPL[i] * G(p, VPL[i].p) L_aux *= BRDF (VPL[i].p, VPL[i].dir, dir(p, VPL[i])) L_aux *= BRDF (p, dir, dir(p, VPL[i])) L_aux /= N_VPLs Visivel = shadow_ray (p, VPL[i].p) if (Visivel) L+= L_aux } Iluminação e Fotorealismo 2007/08 35

36 Comparação Iluminação e Fotorealismo 2007/08 36 Path tracing: 10 spp 43.4 seg IGI: 1 spp, 128 VPL 41.1 seg

37 Conjuntos de VPLs A utilização do mesmo conjunto de VPLs para todos os pixeis resulta numa elevada intercorrelação entre pixeis vizinhos: Iluminação e Fotorealismo 2007/08 37 SOLUÇÃO: Gerar vários conjuntos diferentes de VPLs e, para cada raio primário, seleccionar estocasticamente o conjunto a utilizar. Não acarreta custos extra, excepto a geração dos conjuntos de VPLs

38 Conjuntos de VPLs Iluminação e Fotorealismo 2007/08 38 IGI: 1 spp, 128 VPL, 4 set 41.3 seg IGI: 1 spp, 128 VPL, 1 set 41.1 seg

39 Sobre Amostragem A variância pode ser reduzida disparando vários raios primários por pixel O número de diferentes conjuntos de VPLs deve ser igual ao número de amostras por pixel Cada conjunto de VPLs pode agora ter o seu número de trajectos dividido pelo número de amostras por pixel O tempo associado à iluminação difusa não aumenta As distribuições de números aleatórios usadas para gerar os trajectos e seleccionar o conjunto a usar devem ser cuidadosamente escolhidas para garantir que não há correlações entre estes Iluminação e Fotorealismo 2007/08 39

40 Sobre Amostragem Iluminação e Fotorealismo 2007/08 40 IGI: 1 spp, 128 VPL, 1 set 41.1 seg IGI: 4 spp, 32 VPL, 4 set 62.8 seg

41 Selecção da fonte de luz A amostragem das fontes de luz, na fase de pré-processamento, pode ser feita baseada na sua importância, por exemplo, usando uma distribuição de probabilidade baseada na potência relativa das fontes de luz Neste caso, algumas fontes de luz terão, em média, mais VPLs do que outras Para compensar a potência das VPLs deve ser atenuada pela probabilidade de selecção da fonte de luz Iluminação e Fotorealismo 2007/08 41

42 Pré-Processamento: Algoritmo (importância das fontes de luz) PreProcess() { Criar distribuição para fontes de luz baseada em alguma característica Para i=1 até N_Paths { Seleccionar aleatoriamente a fonte de luz L com probabilidade Lightpdf Seleccionar ponto na fonte de luz p com probabilidade pdf contrib = L.Le / pdf * Lightpdf Seleccionar direcção ω o com probabilidade pdf contrib *= cos θ / pdf Enquanto intersecção com p { ω i = ω o Criar VPL (p, contrib, ω i, N p ) N_VPLs++ Seleccionar direcção ω o com probabilidade pdf pcontinue = BRDF (p, ω i, ω o )* cos θ / pdf if (RandomFloat()>pcontinue) termina trajecto } Iluminação e Fotorealismo 2007/08 42

43 Selecção da fonte de luz: oclusão Numa cena com um elevado grau de oclusão muitas fontes de luz não contribuem para a iluminação das superfícies visíveis. VPLs propagadas a partir destas fontes de luz não contribuem para a região visível da imagem, mas a sua visibilidade é ainda assim avaliada pelos shadow rays para iluminar cada ponto Muito tempo de computação é desperdiçado numa operação que não contribui para melhorar o resultado final EXEMPLO: Um prédio com muitas divisões e muitas fontes de luz terá VPLs distribuídas por todas (maioria) as suas divisões Um observador localizado numa divisão não beneficia da maioria destas VPLs Iluminação e Fotorealismo 2007/08 43

44 Selecção da fonte de luz: oclusão Iluminação e Fotorealismo 2007/08 44 Múltiplas (9) cópias da Cornell Box Com iluminação indirecta

45 Selecção da fonte de luz: oclusão Iluminação e Fotorealismo 2007/ única Cornell Box IGI: 8 spp, 16 VPL, 8 set 112 seg 9 Cornell Box IGI: 8 spp, 16 VPL, 8 set 172 seg

46 Selecção da fonte de luz: oclusão Determinar a importância das fontes de luz para o ponto de vista actual Propagar VPLs a partir das fontes de luz usando esta distribuição de importância HIPÓTESE: Fazer uma primeira passagem com baixa resolução a partir do observador apenas para calcular a importância relativa das fontes de luz, construindo uma pdf Usar path tracing para esta passagem. Construir a distribuição de importância das fontes de luz baseada no número de shadow rays que as amostram com sucesso Para que a integração seja unbiased relativamente às fontes de luz, nenhuma fonte de luz que contribua para a iluminação deve ter probabilidade 0. [Wald, Benthin, Slusallek; Interactive Global Illumination in Complex and Highly Occluded Environments; EG Symposium on Rendering, 2003] Iluminação e Fotorealismo 2007/08 46


Carregar ppt "Iluminação e FotoRealismo Iluminação Global Biased Monte Carlo Methods Luís Paulo Peixoto dos Santos."

Apresentações semelhantes


Anúncios Google