A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam."— Transcrição da apresentação:

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

2 Asynchronous BVH Construction for Ray Tracing Dynamic Scenes on Parallel Multi-Core Architectures Thiago Ize, Ingo Wald, Steven G. Parker Eurographics 2007 Paper

3 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

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ção KD-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ção Grid 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ção BVH 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 BVH Refitting 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 BVH Rebuild 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 BVH Asynchronous 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

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 - Somente usando técnica de refit - Rebuild usando heurística de Lauterbach - Rebuild assíncrono FPS x Tempo de execução

17 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.

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


Carregar ppt "INF 2063 Tópicos em CG II Visualização de Modelos Massivos Peter Dam."

Apresentações semelhantes


Anúncios Google