Visible-Surface Ray Tracing 13.4 Visible-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
Obrigado pela atenção! Perguntas?