Multi-resolution procedural planet generation based on fractal brownian motion noise and hardware tessellation
Ano de defesa: | 2019 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | , |
Tipo de documento: | Dissertação |
Tipo de acesso: | Acesso aberto |
Idioma: | eng |
Instituição de defesa: |
Universidade Federal da Bahia
Instituto de Matemática e Estatística Departamento de Ciências da Computação |
Programa de Pós-Graduação: |
em Ciência da Computação
|
Departamento: |
Não Informado pela instituição
|
País: |
brasil
|
Palavras-chave em Português: | |
Área do conhecimento CNPq: | |
Link de acesso: | http://repositorio.ufba.br/ri/handle/ri/33541 |
Resumo: | Este trabalho apresenta um método de geração procedural de planetas com múltiplas resoluções, fazendo uso de uma técnica de ruído fractal Browniano com derivadas parciais analíticas. Através de várias iterações deste ruído fractal conseguimos simular certos tipos de erosão de terreno, e uma vez que o conteúdo é gerado algoritmicamente, uso de assets se faz desnecessário. Esse efeito de erosão é capaz de simular características planetárias de larga escala, pois com o comportamento fractal de assimilabilidade e sua multiresolução nativa, podemos gerar pontos de referência realísticos como vales até cumes de montanhas. Os dados planetários são gerenciados por uma quadtree, sendo esta gerenciada por hash, prevenindo que vértices duplicados sejam armazenados e provendo buscas com complexidade O(1). Para gerar a forma esférica do planeta e suas coordenadas de altitude através do ruído fractal usamos computação genérica com processamento em placa gráfica, assim tomando proveito das capacidades de computação paralela da GPU. O algortimo de view-frustum culling é aplicado valendo-se da quadtree para otimizar a aplicação, evitando o envio de informação para a GPU de triângulos que não estão no campo de visão do observador. Finalmente, nossa abordagem é capaz de lidar com Nível de Detalhamento (LOD) baseado no ponto de vista do observador e a introdução de detalhes em alta resolução através do uso de tesselação em hardware. Os resultados mostram que nosso método é capaz de gerar corpos planetários realísticos, com coerência temporal em tempo real. |