Use este identificador para citar ou linkar para este item:
https://repositorio.ufba.br/handle/ri/33541
Tipo: | Dissertação |
Título: | Multi-resolution procedural planet generation based on fractal brownian motion noise and hardware tessellation |
Autor(es): | d'Oliveira, Ricardo Barros Duarte |
Autor(es): | d'Oliveira, Ricardo Barros Duarte |
Abstract: | 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. |
Palavras-chave: | Geração Procedural Planetas Shaders Computação Gráfica Algoritmos Procedural generation Algorithms Computer graphics Renderização de terrenos em escala planetária Planetary-scale terrain rendering |
CNPq: | Ciências Exatas e da Terra Ciência da Computação Metodologia e Técnicas da Computação Processamento Gráfico (Graphics) |
País: | brasil |
Sigla da Instituição: | UFBA |
metadata.dc.publisher.program: | em Ciência da Computação |
Tipo de Acesso: | Acesso Aberto |
URI: | http://repositorio.ufba.br/ri/handle/ri/33541 |
Data do documento: | 10-Jun-2021 |
Aparece nas coleções: | Dissertação (PGCOMP) |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
template-msc.pdf | 36,28 MB | Adobe PDF | Visualizar/Abrir |
Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.