INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.
Transcript of INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.
![Page 1: INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.](https://reader034.fdocumentos.tips/reader034/viewer/2022051615/552fc10b497959413d8c26ac/html5/thumbnails/1.jpg)
INF 2063Tópicos em CG II
Visualização de Modelos Massivos
Peter Dam
![Page 2: INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.](https://reader034.fdocumentos.tips/reader034/viewer/2022051615/552fc10b497959413d8c26ac/html5/thumbnails/2.jpg)
Asynchronous BVH Construction for Ray Tracing DynamicScenes on Parallel Multi-Core Architectures
Thiago Ize, Ingo Wald, Steven G. ParkerEurographics 2007
Paper
![Page 3: INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.](https://reader034.fdocumentos.tips/reader034/viewer/2022051615/552fc10b497959413d8c26ac/html5/thumbnails/3.jpg)
História (Ray Tracing x Hardware)
• O ray tracing (traçado de raios) data dos anos 90, com o uso de grandes supercomputadores para atingir tempo interativo
• Só recentemente ray tracing foi considerado como possivelmente viável para cenas complexas em tempo real
• Multi-cores, GPUs programáveis e hardware dedicado a ray tracing vêm aumentando o desempenho significativamente
![Page 4: INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.](https://reader034.fdocumentos.tips/reader034/viewer/2022051615/552fc10b497959413d8c26ac/html5/thumbnails/4.jpg)
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
![Page 5: INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.](https://reader034.fdocumentos.tips/reader034/viewer/2022051615/552fc10b497959413d8c26ac/html5/thumbnails/5.jpg)
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
![Page 6: INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.](https://reader034.fdocumentos.tips/reader034/viewer/2022051615/552fc10b497959413d8c26ac/html5/thumbnails/6.jpg)
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
![Page 7: INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.](https://reader034.fdocumentos.tips/reader034/viewer/2022051615/552fc10b497959413d8c26ac/html5/thumbnails/7.jpg)
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
![Page 8: INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.](https://reader034.fdocumentos.tips/reader034/viewer/2022051615/552fc10b497959413d8c26ac/html5/thumbnails/8.jpg)
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
![Page 9: INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.](https://reader034.fdocumentos.tips/reader034/viewer/2022051615/552fc10b497959413d8c26ac/html5/thumbnails/9.jpg)
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
![Page 10: INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.](https://reader034.fdocumentos.tips/reader034/viewer/2022051615/552fc10b497959413d8c26ac/html5/thumbnails/10.jpg)
Atualizando a BVHAsynchronous Rebuild
• 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
![Page 11: INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.](https://reader034.fdocumentos.tips/reader034/viewer/2022051615/552fc10b497959413d8c26ac/html5/thumbnails/11.jpg)
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
![Page 12: INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.](https://reader034.fdocumentos.tips/reader034/viewer/2022051615/552fc10b497959413d8c26ac/html5/thumbnails/12.jpg)
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
![Page 13: INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.](https://reader034.fdocumentos.tips/reader034/viewer/2022051615/552fc10b497959413d8c26ac/html5/thumbnails/13.jpg)
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
![Page 14: INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.](https://reader034.fdocumentos.tips/reader034/viewer/2022051615/552fc10b497959413d8c26ac/html5/thumbnails/14.jpg)
Resultados- Somente usando técnica de “refit”- Rebuild usando heurística de Lauterbach- Rebuild assíncrono
FPS x Tempo de execução
![Page 15: INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.](https://reader034.fdocumentos.tips/reader034/viewer/2022051615/552fc10b497959413d8c26ac/html5/thumbnails/15.jpg)
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
![Page 16: INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.](https://reader034.fdocumentos.tips/reader034/viewer/2022051615/552fc10b497959413d8c26ac/html5/thumbnails/16.jpg)
Resultados
- Somente usando técnica de “refit”- Rebuild usando heurística de Lauterbach- Rebuild assíncrono
FPS x Tempo de execução
![Page 17: INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.](https://reader034.fdocumentos.tips/reader034/viewer/2022051615/552fc10b497959413d8c26ac/html5/thumbnails/17.jpg)
Resultados
- Método “sweep-build” (BVH melhor, mas demora mais para construir)- Método “approximate build” (BVH pior, mas bem mais rápido para construir)
FPS x Tempo de execução
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.
![Page 18: INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam.](https://reader034.fdocumentos.tips/reader034/viewer/2022051615/552fc10b497959413d8c26ac/html5/thumbnails/18.jpg)
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