13.4 Visible-Surface Ray Tracing Introdução à Computação Gráfica Professora: Soraia Raupp...
Transcript of 13.4 Visible-Surface Ray Tracing Introdução à Computação Gráfica Professora: Soraia Raupp...
13.4Visible-Surface Ray Tracing
Introdução à
Computação Gráfica
Professora: Soraia Raupp Musse
Giovani Facchini
Renato Costa
Introdução
• Determinar a visibilidade de uma superfície através de raios de luz traçados a partir da câmera para o objeto na cena
Algoritmo Simplificado
selecionar o ponto de projeção e a janela na viewport;
para (cada scanline) {
para (cada pixel na scanline) {
determinar o raio a partir do centro de projeção até o pixel;
para (cada objeto na cena) {
se (o objeto é atingindo e é o mais próximo até o momento)
salvar a intersecção e o nome do objeto;
}
alterar a cor do pixel para a do objeto atingido mais próximo;
}
}
Cálculo de Intersecções
• O cálculo da intersecção entre o raio e o polígono é difícil e é executado da seguinte forma:
– encontrar a intersecção entre o raio e o plano do polígono
– verificar se a intersecção está dentro do polígono
Cálculo de Intersecções
• Para verificar se o ponto de intersecção (P) está contido no polígono, ambos são projetados (ortogonalmente) em um dos eixos:
Considerações de Eficiência
• O algoritmo clássico é lento• A cada raio lançado, a intersecção com cada um dos
objetos que compõe a cena é calculada
Otimização no Cálculo de Intersecções
• Bounding volumes
Otimização no Cálculo de Intersecções
• Bounding volumes com hierarquia
Otimização no Cálculo de Intersecções
• Particionamento espacial
Otimização no Cálculo de Intersecções
• Particionamento espacial
Perguntas?
Obrigado pela atenção!