1 / 18

INF  2063 Tópicos em CG II Visualização de Modelos Massivos

INF  2063 Tópicos em CG II Visualização de Modelos Massivos. Peter Dam. Paper. Asynchronous BVH Construction for Ray Tracing Dynamic Scenes on Parallel Multi-Core Architectures. Thiago Ize , Ingo Wald, Steven G. Parker. Eurographics 2007. História (Ray Tracing x Hardware).

jerold
Download Presentation

INF  2063 Tópicos em CG II Visualização de Modelos Massivos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. INF 2063Tópicos em CG IIVisualização de Modelos Massivos Peter Dam

  2. Paper Asynchronous BVH Construction for Ray Tracing DynamicScenes on Parallel Multi-Core Architectures Thiago Ize, IngoWald, Steven G. Parker Eurographics 2007

  3. História (Ray Tracing x Hardware) • O raytracing (traçado de raios) data dos anos 90, com o uso de grandes supercomputadores para atingir tempo interativo • Só recentemente raytracing foi considerado como possivelmente viável para cenas complexas em tempo real • Multi-cores, GPUs programáveis e hardware dedicado a raytracing vêm aumentando o desempenho significativamente

  4. História (Ray Tracing x Algoritmos) • Para driblar as limitações de hardware algumas técnicas de aceleração e otimização foram estudadas • Uso de estruturas de aceleração espaciais

  5. Estruturas de AceleraçãoKD-Tree • Até 2005 quase todas as implementações de ray tracing usavam kd-tree. • Aceleração de renderização ótima • Custo de construção é altamente proibitivo • Construído geralmente em pré-processamento • Problemas para cenas dinâmicas

  6. Estruturas de AceleraçãoGrid • Aceleração da renderização média • Custo de construção ótima • Geralmente reconstruído a cada quadro para cenas dinâmicas, já que tem custo linear • Bom para cenas dinâmicas, mas o ganho de desempenho não é muito grande

  7. Estruturas de AceleraçãoBVH • Aceleração da renderização boa • Custo de construção média • Tradicionalmente lenta para construir, então a KD-Tree seria uma opção melhor que BVH • Com as técnias demonstradas no paper a construção é feita em tempo aceitável, fazendo com que o BVH tenha o melhor desempenho para cenas dinâmicas

  8. Atualizando a BVHRefitting • Atualiza a BVH para a nova configuração da cena • Só funciona para cenas que não mudam a quantidade de triângulos ou conectividade de vértices • BVH fica correto, porém não necessariamente eficiente • Gradativamente diminui desempenho

  9. Atualizando a BVHRebuild • Segundo Lauterbach, uma cena funciona bem com “refitting” durante uma certa quantidade de quadros • Usa-se uma heurística para avaliar a eficiência da BVH atual (atualizada com “refitting”) • Se a eficiência está abaixo de um limite, constrói uma nova BVH

  10. Atualizando a BVHAsynchronousRebuild • Mantém uma thread construindo nova BVH • Enquanto a thread construtora trabalha, todas as outras fazem o render e manutenção (refitting) da BVH atual • Quando a nova BVH estiver pronta, muda para esta nova e descarta a antiga, disparando a construção de uma nova BVH

  11. Métodos de Construção • O algoritmo assíncrono de atualização independe do método de construção • Pode demorar quanto tempo quiser para reconstruir a BVH, mas a estrutura estará defasada exatamente o tempo de construção • Encontrar método de construção que equilibre tempo de construção com qualidade da estrutura

  12. Cenas Cena: “Bart Museum” Dados: 262K triângulos; gerado para testes de estresse; grandes deformações Cena: “Fairy Forest 2” Dados: 394K triângulos; animações com keyframes; quase todos os triângulos deformam a cada quadro; cena semelhante à de um jogo

  13. Resultados • Todos os testes feitos com render em tamanho 1024 x 1024 • Não foram lançados raios secundários (sombra, reflexão, etc.) pois a técnica trata da construção da estrutura de aceleração e estes raios só impactam no tempo de renderização, e não de construção da estrutura • Tempo de construção na cena BART: 170ms • Tempo de construção na cena Fairy Forest: 230ms

  14. Resultados - Somente usando técnica de “refit” - Rebuild usando heurística de Lauterbach - Rebuild assíncrono FPS x Tempo de execução

  15. Resultados • Dependente da quantidade de núcleos do sistema • Quanto mais núcleos, mais visível é a vantagem desta técnica • Com poucos (menos de 4) núcleos a técnica até mesmo reduz a velocidade

  16. Resultados FPS x Tempo de execução - Somente usando técnica de “refit” - Rebuild usando heurística de Lauterbach - Rebuild assíncrono

  17. Resultados FPS x Tempo de execução - Método “sweep-build” (BVH melhor, mas demora mais para construir) - Método “approximate build” (BVH pior, mas bem mais rápido para construir) Diferença entre os métodos de construção. Como a técnica de “sweep-build” demora mais, há um número maior de quadros renderizados usando a BVH “refitted”, resultando em um desempenho pior. Além disso, quando a nova BVH fica pronta ela já está desatualizada.

  18. Conclusão • Para cenas que deformam pouco, somente usar o método “refitting” pode ser melhor • Para cenas pequenas onde reconstruir completamente a estrutura a cada quadro é possível este método também é desnecessário • Não há queda abrupta de desempenho para reconstruir BVH • Ótima escalabilidade

More Related