130 likes | 214 Views
Raytracing acelerado: Bounding Interval Hierarchy. Luciano Monteiro dos Santos. Bounding Interval Hierarchy. Estrutura de particionamento espacial; Abordagem hibrida entre árvores de partição (BSP, Kd-Trees) e Hierarquias de Volumes (Bounding Volume Hierarchy);
E N D
Raytracing acelerado: Bounding Interval Hierarchy Luciano Monteiro dos Santos
Bounding Interval Hierarchy • Estrutura de particionamento espacial; • Abordagem hibrida entre árvores de partição (BSP, Kd-Trees) e Hierarquias de Volumes (Bounding Volume Hierarchy); • Permite construção e atualização rápidas, o que possibilita a utilização em cenas dinâmicas; • Desempenho em aceleração comparável com as kd-trees.
Vantagens e Desvantagens • Vantagem • Sem subdivisão de elementos • O tamanho da arvore na memória é deterministico. • A profundidade de busca tende a ser menor. • Estrutura semelhante à kd-tree permite busca sem pilha • Desvantagem • Sub-arvores se sobrepôem parcialmente • Não é possível retornar logo após encontrar a primeira intersecção – é necessário testar os outros nós na pilha.
Construção • Escolhe-se um plano de particionamento a partir de uma dada heurística; • Comumente, divide-se a maior dimensão do volume ao meio. • Classifica-se os objetos entre os filhos da esquerda e da direita, de acordo com o lado no qual cada objeto mais pertence; • Ajusta-se os planos limites para conter todos os objetos;
Pesquisa • Semelhante à kd-tree. Deve-se testar quatro casos distintos: • O raio atravessa apenas o filho da esquerda; • O raio atravessa apenas o filho da direita; • O raio atravessa ambos os filhos; • O raio não atravessa nenhum filho (não possível numa kd-tree normal);
Exemplo: Arauna • Engine experimental para jogos com Ray-tracing em tempo real; • Utiliza Kd-trees para elementos estáticos e BIHs para elementos dinâmicos;
Referências • Instant Ray Tracing: The Bounding Interval Hierarchy. Carsten Wächter and Alexander Keller. Eurographics Symposium on Rendering (2006) • Arauna Real Time Raytrace Engine: http://igad.nhtv.nl/~bikker/