Stochastic Supersampling e Distributed Ray Tracing
Francisco Carvalho Felipe LealVí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ós-
processamento– 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 inter-relacionados
• A chave para a solução é a capacidade de se fazer anti-aliasing em técnicas de point sampling como Ray Tracing.