33
| tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004 – Universidade do Minho | instituição | Computer Division - Lucasfilm Ltd.

| tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

Embed Size (px)

Citation preview

Page 1: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

| tema | Ray Tracing Distribuído

Rudolfo Quintas e Tiago Rodrigues | apresentação |

| autores | Robert L. Cook, Thomas Porter e Loren Carpenter

MCGAV 2004 – Universidade do Minho

| instituição | Computer Division - Lucasfilm Ltd.

Page 2: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

Ray Tracing Distribuído

:: Vantagem

Permite representar sombras, reflexos e refracções de luz,sem grandes dificuldades.

:: Desvantagem

Não existe a simulação de fenómenos ruidosos

Uma das técnicas mais elegantes na computação gráfica.

As direcções dos raios são determinadas de modo preciso.

Page 3: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

Ray Tracing Distribuído

:: Proposta

Incorporação de fenómenos ruidosos.

Distribuição das direcções dos raios de acordouma função analítica.

Soluções para motion blur, profundidade de campo,penumbras, translucidez e reflexões esbatidas.

Os cálculos podem ser integradosnos cálculos da superfície visível.

Page 4: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

| 1. Introdução |

Ray Tracing Distribuído

::As imagens traçadas por os raios resultam sharp porque as direcções dos raios são determinadas precisamente da geometria

:: Esta abordagem não foi conseguida anteriormente por causa do aliasing

:: O ray tracing é uma forma de amostragem por ponto teve sujeito ao artefacto do aliasing

:: Este aliasing não é inerentepodePode ser filtrado como qualquer outro método analítico. -> Jittering

Page 5: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

Ray Tracing Distribuído

:: A técnica de antialiasing abre novas possibilidades para o ray tracing

:: Calculado com o antaialiasing devido, os raios podem amostrar movimento,as lentes da câmara, a função de shading completa.

:: A chave -> não são necessários raios extra para lá daqueles usados para a sobreamostragem espacial

:: Por exemplo, em vez de tirar múltiplas amostragens temporais a todas as localizações espaciais,os raios são distribuídos no tempo de forma a que raios em localizações

espaciais diferentes sejam traçados em diferentes instâncias do tempo.

:: raios distribuídos oferecem benefícios substanciais com pouco custo adicional.

:: O antialiasing proposto é baseado na abordagem proposta por Rodney Stock.

| 1. Introdução (continuação)|

Page 6: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

Ray Tracing Distribuído

:: Amostrar o raio transmitido produz translucencia (transparência esbatida).

:: Amostrar o raio reflectido de acordo com a função de distribuição especular produz gloss (reflexão esbatida)

:: Amostrar o ângulo sólido das fontes de luz produz penumbras.

:: Amostrar as lentes da câmara produz o efeito de profundidade de campo.

:: Amostrar ao longo do tempo produz motion blur

| 1. Introdução (continuação)|

Page 7: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

Ray Tracing Distribuído

| 2. Shading |

A intensidade I da luz reflectida num ponto da superfície é um integral da função de iluminação L e da função da reflexão R no domínio representado pelo hemisfério acima da superfície.

I( Φr, θr) = ∫ ∫ L(Φi, θi) R(Φi, θi, Φr, θr) dΦidθi

Φi θi

(Φi, θi) - o ângulo de incidência.(Φr, θr) - o ângulo de reflexão.

:: Problema: Complexidade de cálculo do integral.

:: Solução: Simplificar através de aproximações.

Page 8: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

:: Solução 1:

O integral L é substituído por um somatórionum domínio discreto de direcções.

Ray Tracing Distribuído

Estas direcções indicam as fontes de luzcomo fontes pontuais.

Estes pressupostos originam sombras definidas.

Page 9: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

Ray Tracing Distribuído

:: Solução 2:

As direcções onde não existe uma fonte de luz são agrupadasnuma fonte de luz ambiente.

A luz ambiente é a mesma em qualquer direcção.

Se L é independente de Φi e θi,então pode ser retirada do integral.

O integral de R é substituído por uma média, ou ambiente, reflectância.

Page 10: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

Ray Tracing Distribuído

:: Solução 3:

A função R é simplificada de modo que uma superfície apenas reflicta a luznuma direcção, ou seja , que funcione como um espelho.

:: Solução 4:

Um método equivalente ao acima referido pode ser aplicado para a luz transmitida.

Estes pressupostos originam superfícies com reflexos definidos.

Estes pressupostos originam superfícies com refracções definidas.

Page 11: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

Ray Tracing Distribuído

| 2.1. Gloss |

(reflexão esbatida)

:: As reflexões são processadas como espelhos na computação gráfica, mas na vida real são normalmente esbatidas ou desviadas/irregulares.

:: A forma como uma superfície reflecte o seu meio ambiente é chamado gloss

:: Qualquer simulação analítica destas reflexões tem que ser baseada no integralda reflectância sobre qualquer ângulo sólido.

:: As reflexões espelhadas são determinadas traçando raios desdea superfície na direcção do espelho

Page 12: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

Ray Tracing Distribuído

| Exemplos Gloss |

Ray Trace Clássico Ray Trace Distribuído

Page 13: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

| 2.2. Translucidez|

Ray Tracing Distribuído

- A distribuição dos raios transmitidos é definida pela função de transmissão especular.

- Similar à que foi apresentada para a luz reflectida

:: A função de transmissão T:

- O domínio é definido pelo hemisfério que se encontra por detrás da superfície

- A luz transmitida contém componentes de luz ambiente, difusa e especular.

:: A translucidez difere da transparência porque as imagens observadas através de objectos translúcidos não são nítidas

:: Similiar ao problema do gloss, a translucidez necessita um integral da luz transmitida.

:: A translucidez é determinada pela distribuição dos raios secundários em torno da direcção da luz transmitida.

Page 14: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

| 2.3 Penumbras |

Ray Tracing Distribuído

:: As penumbras ocorrem quando uma fonte de luz está parcialmente escondida/escurecida

:: A intensidade reflectida devido a uma luz neste estado é proporcional ao angulo sólido da porção visível da luz

::Nota: O ângulo sólido foi explicitamente incluído num modelo de shading, mas nenhumalgoritmo foi sugerido para determinar este ângulo sólido por causa da

complexidade da computação envolvida

:: As sombras são calculadas traçando raios desde a superfície até as fontes de luz, e as penumbras podem ser calculadas distribuindo estes raios secundários.

:: O raio da sombra (shadow ray) pode sertraçado para qualquer ponto na fonte de luz

Page 15: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

Ray Tracing Distribuído

:: A distribuição destes raios de sombreamento deve ser pesada tendo em contaa área projectada e a luminosidade das diferentes partes da fonte de luz.

:: O numero de raios traçados para cada região deveria ser proporcional à quantidade de energia de luz que viria dessa região se a luz não estivesse obstruída.

:: A proporção de amostras de pontos iluminados numa região da superfície é igual á proporção dessa intensidade de luz que é visível nessa região

:: O raio da sombra (shadow ray) pode sertraçado para qualquer ponto na fonte de luz

| 2.3 Penumbras (continuação) |

Page 16: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

Ray Tracing Distribuído

|Exemplo Penumbras|

Ray Trace Clássico Ray Trace Distribuído

Page 17: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

| 3. Profundidade de campo |

Ray Tracing Distribuído

:: Ray Tracing clássico

As imagens resultantes têm um campo de visão finito.

Os objectos apresentam-se bem definidos nas imagens.

O modelo de camera utilizado tem uma aberturainfinitesimamente pequena.

Page 18: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

| 3. Profundidade de campo (continuação) |

:: Postmesil

- Simulação de profundidade de campo com uma técnica de pós-processamento.

- Primeiro, cada objecto é desenhado de modo definido.

- Segundo, cada objecto é envolvido com um filtro definido pela dimensão do circulo confusion.

- O programa despende a maior parte do tempo no pós-processamento.

- O tempo de pós-processamento aumenta drasticamente à medida que a abertura de lente diminui.

Ray Tracing Distribuído

Page 19: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

| 3. Profundidade de campo (continuação) |

:: Postmesil (continuação)

A abordagem de pós-processamento não é correcta porque a visibilidade é calculada a partir de um único ponto, o centro da lente.

O visionamento do ambiente é diferente a partir das diferentes partes da lente, e as diferenças incluem mudanças na visibilidade e na aparência (shading).

A informação sobre essas partes não estarão disponíveis no pós-processamento.

Ray Tracing Distribuído

Page 20: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

Ray Tracing Distribuído

:: Ray Tracing Distribuído

O seu tamanho depende da distância do pontoe da distância focal.

Cada ponto na cena apresenta-se como umcírculo (confusion) no plano da imagem..

| 3. Profundidade de campo (continuação) |

As camera e o olho têm uma abertura de lente finita.

Page 21: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

| 3. Profundidade de campo (continuação) |

Ray Tracing Distribuído

:: Ray Tracing Distribuído

- A superfícies visíveis e a sua aparência (shading) podem ser diferentes de acordo as diferentes partes da lente.

:: Seguir o percurso do raio

- Primeiro é definida uma linha entre do pixel (plano da imagem) e um ponto escolhido no círculo definido pela lente (jittering relativamente ao centro da mesma)

- O raio primário é disparado a partir deste ponto da lente passando pelo ponto focal.

- O processo é repetido N vezes para cada pixel.

As especificações da camera necessárias para estes cálculos são a distância focal e o diâmetro da lente.

Este método não tem em consideração o efeito de difracção.

Page 22: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

Ray Tracing Distribuído

o problema do motion blur e as tentativas anteriores de o solucionar:

:: O método de motion blur discutido por Potmesi não somente é dispendioso,mas também separa os cálculos das superfícies visíveis dos cálculos do motion blur

:: na maior parte dos casos não podemos somente calcular uma só imagem e esbater o resultado

:: Problemas com as imagens de fundo, rotação de objectos e mudanças de textura

:: As sombras resultantes do motion blur também são importantes enão são processadas correctamente se calcularmos somente uma shade por frame

| 4. Motion Blur |

Page 23: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

Ray Tracing Distribuído

| 4. Motion Blur (cotntinuação) |

:: A técnica de pontos amostrados parece ser a única abordagem que oferece algum compromisso para resolver o problema do motion blur.

:: Uma solução por pontos amostrados foi proposto por Karein e Badler. no entanto, amostra os pontos somente nos espaço e não no tempo.

:: Problema:As amostragens do shading não são esbatidas pelo movimento.

Page 24: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

Ray Tracing Distribuído

| 4. Motion Blur (cotntinuação) |

:: Eles também impõem a restrição infeliz que ambos os vértices de uma aresta devem mover-se à mesma velocidade

:: O algoritmo também está limitado ao movimento linear

:: O método envolve manter uma lista de todos os objectos que cruzam cada ponto de amostra durante o tempo da frame

:: uma lista que poderia ser bastante grande para uma cena complexa com movimentos rápidos.

Page 25: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

Ray Tracing Distribuído

| 4. Motion Blur (cotntinuação) |

Distribuindo os pontos de amostragem no tempo soluciona o problema do motion blur

:: O único requisito é a habilidade para calcular a posição do objecto a um tempo específico

:: mudanças na visibilidade e shading de um objecto são correctamente calculadas/tidas em conta.

:: mudanças na visibilidade e shading de um objecto são correctamente calculadas/tidas em conta.

:: As sombras (umbras e penumbras), profundidade de campo, reflexos e intersecções sãotodos correctamente esbatidos.

Page 26: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

Ray Tracing Distribuído

| 4. Motion Blur (cotntinuação) |

:: Esta distribuição dos pontos amostrados no tempo não envolve a adição de mais pontos de amostragem

:: Actualizar as posições do objecto para cada momento de tempo é o único tempo extra que os cálculos necessitam parar fazer o motion blur

:: Noção Geral:Utilizando diferentes distribuições de raios, o movimento pode ser esbatido

Page 27: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

Ray Tracing Distribuído

| 4. Motion Blur (cotntinuação) |

Imagens com Motion Blur com tempos de exposição diferentes

Page 28: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

| 5. Outras implicações do algoritmo |

Ray Tracing Distribuído

:: Determinar a posição

Visto que cada raio ocorre num único instante do tempo, é necessário actualizar as posições dos objectos para esse instante do tempo.

:: A união, a intersecção e a diferença.

A intersecção de superfícies é lidada de modo trivial, apenas determina-se qual é o objecto que se encontra mais próximo, num determinado instante do tempo.

Em cada ponto de amostragem, apenas uma das superfícies é visível.

Page 29: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

| 5. Outras implicações do algoritmo (continuação) |

Ray Tracing Distribuído

Sendo r a transparência e R a reflexão detectada por um raio num determinado instante e local.

R e r são independentes do comprimento de onda r a cor da transparência não é necessariamente igual à cor da reflexão.

Por exemplo, um plástico vermelho transparente pode ter brilho branco.

Se existires n-1 superfícies transparentes em frente de uma superfície opaca, a luz que chega até ao observador é

n-1 n-2 n i-1

Rn ∏ri + Rn-1 ∏ri + … + R2 ∏r1 + R1 = ∑ Ri ∏rj

i=1 i=1 i=1 j=1

Page 30: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

| 6. Sumário Do Algoritmo |

Ray Tracing Distribuído

2-O numero de raios num determinado momento é proporcional aos valores do desejado filtro temporal nesse momento de tempo.

1- Escolher um momento no tempo para o raio e move os objectos de acordo

3- Construir um raio desde o ponto do olho (centro da lente) a um ponto no ecrã

4- Escolher uma localização na lente e traça um raio desde essa localização ao ponto focal do raio original

5- Determinar qual o objecto que está visível.

6- Calcular as sombras.

7- Para cada fonte de luz, escolher uma localização na luz e traçar um raio desde o ponto visível a essa localização

Page 31: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

| 6. Sumário Do Algoritmo (continuação) |

Ray Tracing Distribuído

10- O número de raios traçados numa direcção específica deve ser proporcional à quantidade de luz desde essa direcção que è reflectida na direcção do observador

9- Para reflexões, escolher uma direcção à volta do espelho de direcção etraçar um raio nessa direcção desde o ponto visível.

11- Para a luz transmitida, escolher uma direcção à volta da direcção da luz transmitida e traça um raio nessa direcção desde o ponto visível.

12- O número de raios traçados nessa direcção específica deve ser proporcional à quantidade de luz desde essa direcção que é transmitida até ao observador

8- O numero de raios traçados a uma localização na luz deveria ser proporcionalà intensidade e área projectada daquela localização como vista da superfície

Page 32: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

| 7. Conclusão |

Ray Tracing Distribuído

:: O ray tracing distribuído é um novo paradigma para a computação gráfica que resolve um conjunto de problemas ou problemas parcialmente resolvidos

:: A abordagem também foi bem resolvida quando adaptada a uma algoritmo de scanline

:: Incorpora os cálculos da profundidade de campo nos cálculos das superfícies visíveis, eliminando os problemas dos métodos anteriores

:: Torna possivel os fenómentos esbatidos, como as penumbras, o gloss e translucencia. Tudo isto pose ser esbatido com o movimento distribuindo os raios no tempo.

:: Esta abordagem na síntese de imagens é praticamente tão dispendiosa quanto oray tracing clássico e resolve todos estes problemas de uma só vez.

Page 33: | tema | Ray Tracing Distribuído Rudolfo Quintas e Tiago Rodrigues | apresentação | | autores | Robert L. Cook, Thomas Porter e Loren Carpenter MCGAV 2004

| 7. Conclusão (continuação) |

Ray Tracing Distribuído

:: Diferenças no shading, nas penumbras e na visibilidade são tidas em conta para os cálculos da profundidade de campo

:: As mudanças na profundidade de campo e na visibilidade são esbatidas com o movimento.

:: Os cálculos de penumbras e de shading são esbatidos com o movimento

-Todos este fenómenos estão interligadose a nova abordagem soluciona todos eles de uma só vez amostrando (by sampling)

o espaço multidimensional que eles definem

:: A chave para isto é a habilidade de esbater a amostra por ponto (antialias point sampling).

:: Os problemas nunca poderiam ser resolvidos separadamente porque estão todos interligados