48
Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Embed Size (px)

Citation preview

Page 1: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Stochastic Supersampling e Distributed Ray Tracing

Francisco Carvalho Felipe LealVítor Teixeira Costa

Page 2: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Stochastic Supersampling

Page 3: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Roteiro

• Aliasing

• Stochastic Sampling

• Uniform Point Sampling

• Poisson Disk Sampling

• Regular Grid Jittering

Page 4: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Aliasing

• Aliasing está intrinsecamente ligada à natureza de amostragem discreta do ray tracing

• Fenômenos contínuos X Amostragem discreta

• Limite de Nyquist

Page 5: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Aliasing

• Supersampling:– Maneira mais simples de diminuir efeitos de

aliasing– Vários raios disparados por pixel (3 x 3),

regularmente distribuidos– Não resolve o problema de aliasing, apenas

ameniza os seus efeitos– Bom começo para melhores técnicas

Page 6: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Aliasing

• Adaptive Supersampling:– Pequena amostra inicial– Se os raios tiverem aproximadamente a

mesma cor, o pixel será a média das cores– Senão, subdivide-se o pixel em regiões ainda

menores– Mesmo assim, ainda há problemas– Ainda usa um grid regular e fixo de amostras

Page 7: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Aliasing

• Adaptive Supersampling:

Page 8: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Stochastic Sampling

• Técnica de “Monte Carlo”, onde a imagem é amostrada em locais espaçados não uniformemente

• Diferente de Supersampling e Adaptive Supersampling, embora possa ser combinado com um dos dois

• Aliasing é substituído por ruído de mesma intensidade

Page 9: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Stochastic Sampling

• Provê novas capacidades para algoritmos discreto como o ray tracing

• Equações físicas envolvem integrais sobre o tempo, area da lente, ângulo de reflexão, etc

• Monte Carlo integration

• Motion blur, depth of field, penumbra, gloss e translucency

Page 10: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Uniform Point Sampling

• Em amostras regularmente espaçadas, freqüências acima do limite de Nyquist aparecem como alias, ou seja, aparecem como baixa freqüência

• Conseqüência da regularidade do grid de amostragem

Page 11: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Uniform Point Sampling

Page 12: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Uniform Point Sampling

Page 13: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Poisson Disk Sampling

• Olho humano

• Na fovea, aliasing é evitado porque a lente atua como um filtro passa-baixa

• Fora da fovea, aliasing é evitado por causa da distribuição não-uniforme das células

• Rhesus monkey

Page 14: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Poisson Disk Sampling

• Amostras são posicionadas randomicamente com a restrição de que nenhum par de amostras estão mais próximas que uma certa distância.

Page 15: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Poisson Disk Sampling

Page 16: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Poisson Disk Sampling

• Implementação é direta e simples, embora seja muito cara

• Lookup table de locais randomicos

• Filtros descrevem como cada amostra afeta o pixel vizinho

• Lookup table extremamente grande.

• Método alternativo: Regular Grid Jittering

Page 17: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Regular Grid Jittering

• Adição de ruído aos locais de amostragem

• Aproximação do disco de Poisson

• Sua transformada é similar à transformada da distribuição do disco de Poisson

Page 18: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Regular Grid Jittering

• “Jittering” possui os seguintes efeitos:– Altas frequências são atenuadas– A energia perdida pela atenuação aparece

como ruído uniforme. A intensidade do ruído é igual a intensidade da parte atenuada do sinal

– A composição básica do spectro não muda

Page 19: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Regular Grid Jittering

Page 20: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Regular Grid Jittering

• Se existir um número exato de ciclos, nenhuma energia da onda produz aliasing, tudo vira ruído

• Se a freqüência não é múltipla de λ, há atenuação de aliasing e adição de ruído

• Atenuação é maior para frequências maiores

Page 21: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Regular Grid Jittering

Page 22: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Regular Grid Jittering

• Extensão para duas dimensões

• Pixel é um grid regular, contendo um ou mais subpixels, cada um com um ponto de amostragem

• Cada ponto de amostragem é colocado no meio do subpixel, então ruído é adicionado ao x e y do ponto independentemente

Page 23: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Conclusão

• Com a escolha correta da distribuição não-uniforme de amostras as altas freqüências aparecem como ruído

• Simples e eficiente aproximação do disco de Poisson.

• Aliasing é resolvido

• É facilmente extendido para Distributed Ray Tracing

Page 24: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Distributed Ray Tracing

Page 25: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Preambulo

• Modelagem quase natural• Sombreamento, Reflexão, Refração• Direção dos raios é precisa ...

... → Limitações!• Sharp Shadows, Sharp Reflections, Sharp

Refraction.

• Como modelar certos fenômenos visuais?

Page 26: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Roteiro

• Idéia Geral:– Distribuir a direção dos raios de acordo com o

que eles estão amostrando!

• Novas possibilidades:– Fuzzy Reflections / Refractions– Penumbras– Depth of Field– Motion Blur

Page 27: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Geral

• Uma nova abordagem para síntese

• Geralmente associada a oversampling

• Distribuir em vez de acrescentar– Várias amostras no tempo x Mesma amostra

distribuída ao longo do tempo

Page 28: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Reflexões e Refrações

• Analiticamente, a intensidade da luz refletida num ponto é dada por uma integral da função de iluminação e da função de reflexão:

• Complexo e custoso

• Simplificações são assumidas

Page 29: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Reflexões e Refrações

• As principais:– As fontes de luz são perfeitamente pontuais e

L é uma função δ– R (T) é uma função δ– Todas as direções que não sejam fontes de

luz podem ser representadas por uma luz ambiental e a integral de R pode ser substituída por uma refletância média

Page 30: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Reflexões embaçadas

• Fuzzy reflection, gloss, blurred reflection

• Obtida amostrando-se o raio refletido de acordo com a função de distribuição especular (função de reflexão) analítica– Highlights serão obtidos quando raios

refletirem fontes de luz perfeitamente

Page 31: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Translucidez

• Fuzzy refraction, translucency, blurred transparency

• Obtida amostrando-se o raio refratado de acordo com a função de refração analítica

Page 32: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Penumbra

• Ocorre quando uma fonte de luz está parcialmente oculta

• A intensidade da reflexão é proporcional ao ângulo sólido visível da fonte de luz

• Complexidade de determinação deste angulo

Page 33: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Penumbra

• Obtida distribuindo-se os raios da superfície para toda a fonte luminosa

• Pondera-se a distribuição dos raios na área da projeção da fonte de luz

• Pesos proporcionais à intensidade luminosa em diferentes partes da fonte

• O resultado...

Page 34: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa
Page 35: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Foco

• Depth of field, focus

• Obtido amostrando-se sobre a área da lente da câmera

Page 36: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Foco

• Outras abordagens já foram experimentadas– Pós-processamento de uma convolução com

um filtro do tamanho do Circulo de Confusão– Maior parte do tempo gasta com pós-

processamento– Não-escalável– Abordagem essencialmente incorreta

Page 37: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Foco

• De início, lança-se um raio pelo centro da lente (modelo usual ou pinhole) e se encontra a intersecção com o plano focal

• Em seguida, seleciona-se um ponto qualquer na lente e lança-se um raio até o plano focal

• Este raio estará dentro do cone que gerará o círculo de confusão esperado

Page 38: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Foco

• O Círculo de confusão para uma dada distância da lente tem diâmetro C dado por:

• Para uma dada distância D, os raios que lançamos ficam dentro de um cone de raio r, aonde

Page 39: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Foco

• Este raio visto através da lente terá tamanho igual a C/2, confirmando a hipótese

• Como no olho humano, pontos dentro do cone afetam a imagem, e pontos fora deste cone não o fazem

• Tudo o que é necessário é a distância focal da lente (F) e o aperture number (n)

Page 40: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa
Page 41: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Motion Blur

• “Rastros” no movimento

• Obtido amostrando-se ao longo do tempo

• Outras tentativas foram feitas, mas todas tem problemas

Page 42: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Motion Blur

• Proposta:– Amostrar normalmente e em seguida aplicar

um filtro de blur

• Problema:– Além do acréscimo de custo, objetos

escondidos na amostragem estática podem aparecer por parte do tempo e não serão exibidos

Page 43: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Motion Blur

• Proposta:– Conhecer o objeto em movimento e o resto

da cena separadamente

• Problemas:– Caso do biplane– Nem sempre as cenas podem ser separadas

em seus elementos facilmente– Esta abordagem não permite mudanças na

visibilidade de um objeto (rotações!)

Page 44: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Motion Blur

• Um complicador aparece quando se trata de shading variável

• Se calculássemos uma iluminação por unidade de tempo: – Texturas ()– Highlights () (caso do pião)– Sombras () (caso da estroboscopia)

Page 45: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Motion Blur

• Escolhe-se um momento para o raio

• Atualiza-se as posições dos objetos

• Lança-se o raio normalmente

• A distribuição dos raios pode ser uniforme ou proporcional ao valor do filtro temporal para cada dado instante

Page 46: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa
Page 47: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Composição do Algoritmo

• Motion Blur– Escolhe-se o tempo para o raio– Atualiza-se as posições dos objetos

• Foco– Lança-se um raio do ponto de vista para um ponto na tela– Lança-se outro raio de algum ponto da lente para o ponto focal

obtido, determinando o objeto atingido• Penumbra

– Para cada fonte de luz, escolher um alvo na fonte e disparar um raio

• Reflexões– Escolher uma direção de reflexão e lançar um raio nela

• Refrações– Escolher uma direção de refração e lançar um raio nela

Page 48: Stochastic Supersampling e Distributed Ray Tracing Francisco Carvalho Felipe Leal Vítor Teixeira Costa

Conclusão

• Um novo paradigma para problemas antigos• Não são soluções pontuais para problemas

pontuais• Os problemas “não poderiam ter sido resolvidos

separadamente” por serem fenômenos inter-relacionados

• A chave para a solução é a capacidade de se fazer anti-aliasing em técnicas de point sampling como Ray Tracing.