Stochastic Supersampling e
Distributed Ray Tracing
Francisco Carvalho Felipe Leal
Vítor Teixeira Costa
Stochastic Supersampling
Roteiro
•
•
•
•
•
Aliasing
Stochastic Sampling
Uniform Point Sampling
Poisson Disk Sampling
Regular Grid Jittering
Aliasing
• Aliasing está intrinsecamente ligada à
natureza de amostragem discreta do ray
tracing
• Fenômenos contínuos X Amostragem
discreta
• Limite de Nyquist
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
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
Aliasing
• Adaptive Supersampling:
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
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
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
Uniform Point Sampling
Uniform Point Sampling
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
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.
Poisson Disk Sampling
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
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
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
Regular Grid Jittering
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
Regular Grid Jittering
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
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
Distributed Ray Tracing
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?
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
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
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
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
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
Translucidez
• Fuzzy refraction, translucency, blurred
transparency
• Obtida amostrando-se o raio refratado de
acordo com a função de refração analítica
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
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...
Foco
• Depth of field, focus
• Obtido amostrando-se sobre a área da
lente da câmera
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ósprocessamento
– Não-escalável
– Abordagem essencialmente incorreta
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
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
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)
Motion Blur
• “Rastros” no movimento
• Obtido amostrando-se ao longo do tempo
• Outras tentativas foram feitas, mas todas
tem problemas
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
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!)
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)
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
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
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 interrelacionados
• A chave para a solução é a capacidade de se
fazer anti-aliasing em técnicas de point sampling
como Ray Tracing.
Download

Stochastic Supersampling e Distributed Ray Tracing