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 TamanhoFormato 
template-msc.pdf36,28 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.