[pt] Visualização de grandes terrenos é um assunto desafiador
em computação gráfica. O número de polígonos necessário
para representar fielmente a geometria de um terreno pode
ser muito alto para ser processado em tempo real. Para
resolver tal problema, utiliza-se um algoritmo de multi-
resolução, que envia para o processador gráfico (GPU)
somente os polígonos mais importantes, sem que haja uma
perda na qualidade visual. A quantidade de dados é um
outro grande problema, pois facilmente excede a quantidade
de memória RAM do computador. Desta forma, um sistema de
gerenciamento de dados que não estão em memória principal
também é necessário. Este trabalho propõe uma solução
simples e escalável para visualizar a geometria de grandes
terrenos baseada em três pontos chaves: uma estrutura de
dados para representar o terreno em multi-resolução; um
sistema eficiente de visualização; e um sistema de
paginação e predição dos dados. A estrutura de dados
utilizada, assim como em outros trabalhos similares, é a
quadtree. Esta escolha justifica-se pela simplicidade,
além da eficiência e baixo consumo de memória de uma
implementação em vetor. Cada nó da quadtree representa um
ladrilho do terreno. A implementação é dividida em duas
linhas de execução (threads), uma para gerenciamento dos
ladrilhos e outra para visualização. A linha de execução
de gerenciamento de ladrilhos é responsável por
carregar/remover ladrilhos para/da memória. Esta linha de
execução utiliza um mecanismo de predição de movimento da
câmera para carregar ladrilhos que possam ser utilizados
em um futuro próximo, e remover ladrilhos que
provavelmente não serão necessários. A linha de execução
de visualização é responsável por visualizar o terreno,
fazendo cálculo do erro projetado, eliminando ladrilhos
não visíveis e balanceando a estrutura de quadtree para
eliminar buracos ou vértices T na superfície do terreno. A
visualização pode ser feita de duas formas distintas:
baseada no erro máximo tolerado ou na quantidade máxima de
polígonos a ser processado. / [en] The visualization of large terrains is a challenging
Computer Graphics issue.
The number of polygons required to faithfully represent a
terrain`s geometry
can be too high for real-time visualization. To solve this
problem, a multiresolution
algorithm is used to feed the graphics processor only with
the
most important polygons, without visual quality loss. The
amount of data
is another important problem, as it can easily exceed a
computer`s RAM.
Thus, a system to manage out-of-core data is also
required. The present
work proposes a simple and scalable solution to visualize
the geometry
of large terrains based on three key points: a data
structure to represent
the terrain in multi-resolution, an efficient
visualization system and a data
paging and prediction system. Similarly to other works,
the system uses a
quadtree data structure due to its simplicity, along with
the efficiency and
the low memory use of an array-based implementation. Each
node of the
quadtree represents a tile of the terrain. The
implementation is divided in
two threads, one to manage the tiles and the other for
visualization. The
tile-management thread is responsible for
loading/unloading tiles into/from
the memory. This thread uses a camera-movement prediction
mechanism
to load tiles that can be used in the near future and to
remove tiles that
probably will not be necessary. The visualization thread
is responsible for
viewing the terrain, computing the projected error,
eliminating tiles that
are not visible and balancing the quadtree structure in
order to eliminate
cracks or T-vertices on the terrain`s surface. The
visualization can be made
by means of a fidelity-based or a budget-based approach.
Identifer | oai:union.ndltd.org:puc-rio.br/oai:MAXWELL.puc-rio.br:7870 |
Date | 07 March 2006 |
Creators | LUIZ GUSTAVO BUSTAMANTE MAGALHAES |
Contributors | WALDEMAR CELES FILHO |
Publisher | MAXWELL |
Source Sets | PUC Rio |
Language | Portuguese |
Detected Language | Portuguese |
Type | TEXTO |
Page generated in 0.002 seconds