Multi-resolution procedural planet generation based on fractal brownian motion noise and hardware tessellation
Autor: | d'Oliveira, Ricardo Barros Duarte |
---|---|
Přispěvatelé: | Apolinário Junior, Antonio Lopes, Silva, Rodrigo Luis Souza da, Mello, Vinicius Moreira |
Jazyk: | angličtina |
Rok vydání: | 2019 |
Předmět: |
Ciência da Computação
Renderização de terrenos em escala planetária Geração Procedural Algoritmos Planetas Metodologia e Técnicas da Computação Procedural generation Ciências Exatas e da Terra Shaders Computer graphics Planetary-scale terrain rendering Computação Gráfica Processamento Gráfico (Graphics) Algorithms |
Zdroj: | Repositório Institucional da UFBA Universidade Federal da Bahia (UFBA) instacron:UFBA |
Popis: | Submitted by Ricardo Barros (richardtrle@gmail.com) on 2021-04-21T02:58:59Z No. of bitstreams: 1 template-msc.pdf: 37150447 bytes, checksum: 814fb30aeeb27b8709e5b6954a213d47 (MD5) Approved for entry into archive by Solange Rocha (soluny@gmail.com) on 2021-06-10T21:17:09Z (GMT) No. of bitstreams: 1 template-msc.pdf: 37150447 bytes, checksum: 814fb30aeeb27b8709e5b6954a213d47 (MD5) Made available in DSpace on 2021-06-10T21:17:09Z (GMT). No. of bitstreams: 1 template-msc.pdf: 37150447 bytes, checksum: 814fb30aeeb27b8709e5b6954a213d47 (MD5) Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq), Fundação de Amparo à Pesquisa do Estado da Bahia (FAPESB) 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. This thesis presents a multi-resolution procedural planet generation using fractional Brownian motion obtained with analytical analytical partial derivative value noises. Instead of relying on pre-made content, we use a series of iterations of fractal noises to simulate erosion, producing large-scale planetary features. Through fractal behavior of self-similarity and its native multiresolution, we achieve realistic landmarks from valleys to mountain ranges. Planetary data is managed by a hash-based quadtree with view-frustum culling that prevents vertex duplication and provides O(1) lookups. Spherical transformations and their respective noise values are computed using generic GPU programming through Transform feedback, taking advantage of its parallel power. Finally, our approach can deal with view-dependent Level of Detail { LOD and displacement techniques introducing high level details with hardware tessellation. The results show that our method achieve generating and rendering planetary bodies, with temporal coherence, in real-time. |
Databáze: | OpenAIRE |
Externí odkaz: |