Visualização de terrenos em GPU

Documentos relacionados
Visualização de terrenos em GPU

Visualização de terrenos em GPU

Professor: Anselmo Montenegro Conteúdo (aula 7): - Noções de estruturas de dados topológicas. Instituto de Computação - UFF

QuadLOD: Uma Estrutura para a Visualização Interativa de Terrenos

5 Renderização de terreno usando processo local paralelo em GPU

Implementação de algoritmos para consultas de segmentos em janelas

2 Técnicas e Trabalhos Relacionados

vértices dessas células. Exemplos de malhas estruturadas e não-estruturadas são apresentados na Figura 2.

2 Conceitos Básicos e Trabalhos Relacionados

Triangulação de Delauney

5 Resultados Experimentais

INF 1771 Inteligência Artificial

4 Algoritmo de Visualização

Visualização Interativa de Modelos Massivos de Engenharia na Indústria de Petróleo com o Algoritmo de Voxels Distantes

Frustum Culling Híbrido Utilizando CPU e GPU. Aluno: Eduardo Telles Carlos Orientador: Alberto Raposo Co-Orientador: Marcelo Gattass

Geração Procedural de Terrenos em GPU

Definição 2.1 (Malha) Uma malha é uma estrutura topológica e geométrica

Capítulo 3. Descrição e visualização do modelo 25

Explorando aplicações que usam a geração de vértices em GPU

Computação Gráfica. Representação e Modelagem

3.1 Linha de Produção Utilizada

Computação Gráfica - 11

Introdução ao Processamento e Síntese de imagens -Linhas e superfícies escondidas

MNT: MODELAGEM NUMÉRICA DE TERRENOS

3 Visualização de TetraQuads

Os dados bidimensionais são muito utilizados em várias aplicações de computação gráfica. Em geral, essas aplicações são desenvolvidas para permitir a

Computação Gráfica e Áreas Correlatas

INF2610 Renderização em Tempo Real. Waldemar Celes. 23 de Março de 2017

4 Impostores com Relevo

Um Algoritmo para a Visualização de um Terreno com Objetos

Sumário. Introdução Câmera sintética Window-to-Viewport Exercício. 29-May-13 Leandro Tonietto!2

Modelagem Geométrica. André Tavares da Silva. Capítulo 12 do Foley Capítulo 4 de Azevedo e Conci Capítulo 11 de Mortenson

6 MATERIA IS UTILIZADOS E PREPARO DOS DADOS

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

SISTEMAS DE INFORMAÇÕES GEOGRÁFICAS Aula 2. SIG- Eng. Cartográfica Prof. Luciene Delazari

SISTEMAS DE INFORMAÇÃO GEOGRÁFICA SIG FORMATOS DE REPRESENTAÇÃO DE DADOS FORMATO VETORIAL

Uso de Técnicas Baseadas em Pontos para Visualização de Horizontes Sísmicos

Visualização Distribuída utilizando Agrupamentos de PCs 10

5 Qualidade dos Resultados

Teorema da Galeria de Arte e Triangularização de Polígonos e Pontos no Plano

Reconstrutor de modelos 3D utilizando técnica de nível de detalhamento no ios

UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes. Um estudo dos estágios dos pipelines gráficos

Sistemas de Computação. Gerenciamento de memória

Manual do Navegador Sig Cuiabá

Operações Booleanas na Modelagem por Pontos

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Primária. 29/04/2014 Prof. Valeria M. Bastos

Survey de técnicas. detalhadas: Análise e Comparação

5 Frustum culling em GPU

Um método de sobreposição de mapas mais eficiente para a TerraLib

5 Resultados. 5.1 Modelos usados nos testes

Introdução Introdução

Projeção de Células baseada em GPU para Visualização Interativa de Volumes

Capítulo 3 Primeiros Passos em OpenGL Função Desenha Função Teclado Função Inicializa Programa Principal...

Simplificação e Multiresolução em Modelos Baseados em Pontos

Fundamentos de Computação Gráfica. Visualização e Navegação em Tempo Real

é a saida do melhor individuo. A configuração de parâmetros da

3 Métodos de Extração de Malhas a partir de Volumes

3 Fundamentos. 3.1 Pipeline de renderização em OpenGL

Computação Gráfica - 09

A Fotogrametria Digital

Árvores. SCC-214 Projeto de Algoritmos. Thiago A. S. Pardo. Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral

Modelos de Cálculo. Modelo Estrutural. Características dos Modelos. Modelo simplificado

DADOS EM GEOPROCESSAMENTO

Banco de dados Brasil

Computação Gráfica - 09

INF 2063 Tópicos em CG III

Computaçã. Visão Geral. Sistema Gráfico. Computação Gráfica. Pixels. Sistema Gráfico e o Frame Buffer. Introdução à Computação Gráfica

Geometria Computacional - Notas de aulas. André Guedes

Resumo. Computação Gráfica: Uma Proposta de Plano Pedagógico. Áreas Correlatas. Definição. Uma Visão Integrada da C.G.

IMPLEMENTAÇÃO E OTIMIZAÇÃO DE UMA BOUNDING INTERVAL HIERARCHY PARA UM RAYTRACER DE TEMPO REAL USANDO CUDA

Introdução. Motivação Silhuetas são um importante instrumento para análise e visualização de dados.

Processamento de Malhas Poligonais

Sistemas de Informações Geográficas

Aplicação de Tags em Objetos de Sistemas de Visualização em Tempo Real

4 Algoritmo de reconstrução de curvas

2 Algoritmos de Visibilidade

Segmentação local. geralmente baseados em análise de descontinuidade ou similaridade de valores digitais.

5 Resultados e Aplicações

PROJETO E ANÁLISE DE ALGORITMOS (INF 2926)

Prof. Fernando V. Paulovich 3 de agosto de SCC Computação Gráca

REPRESENTAÇÃO DE SUPERFÍCIE

4 Visualização por pontos

INF 2063 Tópicos em CG III

UNIVERSIDADE DO MINHO ESCOLA DE ENGENHARIA DEPARTAMENTO DE INFORMÁTICA. Visualização de Terrenos em Tempo Real

Instituto de Computação Bacharelado em Ciência da Computação Disciplina: Computação Gráfica Primeira lista de exercícios

O Problema de Visibilidade. Computação Gráfica Recorte. Onde Acontece? O que é Recorte? Renato Ferreira

EXTRAÇÃO DE SILHUETAS EM DADOS VOLUMÉTRICOS

Banco de Dados. Métodos de Ordenação de Dados. Prof. Walteno Martins Parreira Jr

Renderização em Tempo Real de Pêlos Aplicados Sobre Malhas Tridimensionais Arbitrárias Obtidas de Objetos Reais

1.1(a): Malha de triângulos aproximando a forma de um golfinho. 1.1(b): Barco modelado com superfícies paramétricas (neste caso, NURBS).

Introdução. 1 Introdução

Computação Gráfica e Áreas Correlatas

Imagem Digital. Claudio Carvilhe

3 REPRESENTAÇÃO DA SUPERFÍCIE TOPOGRÁFICA

GEOPROCESSAMENTO SIAD,

REPRESENTAÇÃO DO RELEVO

Carlos Vinícius Sousa de Oliveira rio.br. Orientador: Prof. Marcelo Gattass

Transcrição:

Visualização de terrenos em GPU Leonardo Martins { lmartins@inf.puc-rio.br} Disciplina: Visualização de Modelos Massivos Professor: Alberto Raposo

Sumário Introdução Objetivos Visão geral Hierarquia de malhas Balanceamento Renderização Gerenciamento de memória Resultados parciais A fazer Referências

Introdução Visualizar terrenos grandes de forma eficiente e com qualidade permanece sendo um grande desafio. Imagens de satélite da ordem de bilhões de amostras estão disponíveis A capacidade de processamento e armazenamento das máquinas atuais cresce na mesma proporção da capacidade de resolução dos scanners e displays Terrenos estão presentes em um grande número de aplicações computacionais, tais como GIS, jogos e simuladores de vôo. Técnicas de visualização tais como LoD (Level of Detail) e culling ajudam a reduzir o número de primitivas e a aumentar a taxa de exibição de quadros.

Introdução Propriedades desejadas em algoritmos de visualização de terrenos (Bösch et al, 2009) Suporte a LoD Renderização de alta-perfomance Exibição contínua Recuperação rápida de dados Armazenamento compacto Acesso direto aos dados Simplicidade Pré-processamento rápido

Objetivo Implementar através da GPU um visualizador de terrenos Taxas de exibição aceitáveis Qualidade Gerenciamento de memória GPU-Friendly High-Quality Terrain Rendering Schneider and Westermann, 2006

Visão geral Pre-processamento Divide-se o terreno em tiles e para cada um é gerado um conjunto discreto de LoDs através de uma hierarquia de malhas (quad-tree) Execução LoDs contínuos podem ser gerados através de interpolação dos valores de altura dos vértices via GPU Não é feita nenhuma re-triangulação de malha Reduzida a necessidade de largura de banda (menos triângulos) Garantia de erros pequenos com altas taxas de exibição

Hierarquia de malhas Um dado campo de alturas H: N² Z pode ser aproximado por uma malha triangular sobre um domínio 2D. A superfície define uma reconstrução H de H. A qualidade da reconstrução pode ser medida através de uma métrica de erro que se estendem por todo o domínio espacial δ: R x R R A hierarquia é dita aninhada em relação à triangulação O triângulo no nível i está inteiramente contido no de nível i+1 Dessa forma, tal hierarquia pode ser inteiramente gerada por uma quadtree

Hierarquia de malhas Define-se um vetor de erros (e 0, e 1,..., e n-1 ) para cada nível, tal que e i = 2 n-1-i Partindo do nível 0, uma hierarquia {M i } (0 i n- 1) é construída tal que V i C V i+1 e i+1 δ(h i, H) e i O refinamento continua até que δ(h i+1, H) e i+1

Hierarquia de malhas

Balanceamento Uma quadtree é dita balanceada se quaisquer dois quadrados vizinhos diferem no máximo de um fator dois; desta forma em uma quadtree balanceada, quaisquer duas folhas cujos quadrados são vizinhos, tem profundidades diferindo no máximo de 1. Não balanceada Balanceada

Balanceamento Verificar se um quadrado s precisa ser dividido 1. Obter os vizinhos norte, sul, leste, oeste. 2. Dado um quadrado S verificamos seu vizinho norte por exemplo. 3. Verificamos se é folha 3.1. Caso negativo, verificamos os filhos cujos lados sejam adjacentes ao lado do quadrado S e verifica se são folhas. Caso negativo, divide-se S e acrescentam os quatros filhos na lista para ser analisados. 4. Caso o vizinho norte não satisfaça as condições para divisão de S, tomam-se os demais vizinhos.

Geração de Malhas Malha obtida com quadtree não balanceada Malha obtida com quadtree balanceada

Renderização A hierarquia de malhas permite que os tiles sejam enviados progressivamente a GPU Na GPU, rendering de tempo real em alta qualidade é realizado através de uma estrutura de dados apropriada Ao mesmo tempo, a CPU realiza o frustum culling e os cálculos de LoD para cada tile

Renderização

Renderização Para cada tile, calcula-se o bounding box para operações de frustum culling Para cada quadro, tiles visíveis são ordenados em ordem de profundidade para aproveitar o teste de profundidade anterior e evitar sobredesenhos Um gerenciador de memória garante que todos os tiles visíveis podem ser renderizados pela paginação dos dados não residentes na GPU Para cada tile visível, o LoD apropriado é computado via CPU.

Renderização Para achar o LoD adequado para cada tile usase a matriz de projeção, que mapeia coordenadas no espaço do objeto v = (v 1,v 2,v 3,1) para o espaço de tela s = (s 1,s 2,s 3 ) ρ = 3 i= 1 v s i 1 ds ds 2 1 1 + + v s ds i 2 2 2 ds 2 2

Renderização Na CPU, ρ j é calculado para cada canto j da bounding box de cada tile O valor ótimo é dado por λ j = λ max log2(ρ j ), onde λ max = n-1 (número de níveis) A malha M min {λ j } é selecionada para a renderização do tile.

Gerenciamento de memória Aloca blocos de memória de tamanho variável exponencialmente, com meta-informações como time-stamp Paginação é implementada como mistura entre Last Recently Used (LRU) e Tighest Fit (TF) Ao carregar um tile A para a GPU, sempre procura pelo bloco B mais antigo e com tamanho mínimo para acomodar A

Resultados parciais Implementação da malha hierárquica através de uma quadtree balanceada permite gerar uma malha de triângulos bem comportados Dado um nível da hierarquia, retorna a malha correspondente

Resultados parciais

Resultados parciais

A fazer LOD adaptativo em relação à distância Divisão do dado em tiles Cada tile representado por uma quadtree Formato binário para armazenamento em disco Implementação em GPU Usar uma linguagem de mais alto nível (CUDA)

Referências GPU-Friendly High-Quality Terrain Rendering. Schneider and Westermann, 2006 M. de Berg, M. van Kreveld, M. Overmars, O. Schwarzkopf, Computational Geometry: Algorithms and Applications, Springer-Verlag, 1997. RASTeR: Simple and Efficient Terrain Rendering on the GPU. Bösch, Goswami and Pajarola, 2009. http://www.vterrain.org/lod/papers/ http://lodbook.com/terrain/