• No results found

Methods for visualizing vector data on textured terrain models can basically be divided into overlay-geometry-based, geometry-based and texture-based approaches.

3.2.1

Overlay-geometry-based Methods

Overlay-geometry-based methods create 3D geometry from the vector shapes by adapting it to the terrain surface. The parts of the terrain mesh that are covered with vector shapes are determined, cut out and copied. To display the vector shapes, the created 3D geometry is then rendered on top of the original terrain geometry and colored or textured appropriately. The chal- lenge for this kind of methods is to keep the created vector data geometry consistent with the original terrain geometry despite LOD changes. To this end, the vector geometry either has to be created and adapted to each level of detail in a preprocessing step or at runtime. Apart from this elaborate adaption process, the number of resulting primitives directly depends on the complexity of the terrain geometry. As a consequence, the visualization of very simple vector shapes on a high-resolution mesh requires significantly more primitives than the original 2D vector shapes consist of. Furthermore, the created geometry has to be rendered with an additional offset in order to avoid z-buffer stitching artifacts.

Wartell et al. [Wartell et al. 2003] presented an algorithm and an associated data structure that allows the rendering of polylines on multiresolution ter- rain geometry. Since their system is based upon a continuous level-of-detail terrain rendering engine, an adaption of the polyline to the current state of geometry is required at runtime resulting in additional computational costs. Agrawal et al. [Agrawal et al. 2006] used a similar technique for combining a textured terrain model with polyline data. They organized the terrain as a block-based LOD structure derived from a height raster. Based on this block-based simplification and visualization scheme, height values are picked up for each line segment from the underlying mesh with the highest reso- lution. For meshes with lower resolutions, these height values are corrected accordingly.

3.2.2

Geometry-based Methods

Geometry-based methods triangulate the vector shapes into the terrain mesh itself. An advantage of this approach compared to the class of overlay- geometry-based approaches is that the parts of the terrain mesh covered with vector data do not have to be rendered (and stored) twice. What is more, z-buffer stitching artifacts are not an issue, as the resulting terrain is still a single continuous surface but just with integrated areas that represent the vector shapes. A drawback of this kind of methods is, however, that the polygon count of the terrain mesh is increased, regardless whether or not vector data are actually visualized. Weber [Weber & Benner 2001] and Polis

[Polis et al. 1995] used a geometry-based approach to integrate roads into a terrain mesh. They performed this integration offline but did not deal with level of detail. Schilling et al. [Schilling et al. 2007] integrated polygonal vector data, such as building blocks, green areas, forests, and roads, into a custom constrained Delaunay triangulation. Then, triangles lying completely inside the vector shapes are identified and marked as owned by the respective vector shape.

3.2.3

Texture-based Methods

Texture-based methods first rasterize vector shapes into a texture and then project this texture onto the terrain geometry using texture mapping tech- niques. Due to the nature of texture mapping, geometry intersections or z-buffer artifacts as in geometry-based approaches are not an issue, and no additional geometry has to be extracted, stored or rendered. The simplest approach is to rasterize the vector data into a texture map in a preprocessing step and ortho-texture the terrain mesh with it. However, the main drawback of this approach is that in order to achieve reasonable quality, the resolution of the texture has to be at least as high as that of the aerial imagery. Con- sequently, memory requirements can become enormous in order to achieve satisfying quality. What is more, it is not possible to arbitrarily combine different layers of vector data or to visualize only selected objects of a layer. Therefore, some texture-based approaches create the texture on-the-fly and thus are able to arbitrarily combine different layers of vector shapes. How- ever, texture generation at runtime may be costly, and the quality of the mapping is still determined by texture resolution.

Kersting et al. [Kersting & D¨ollner 2002] proposed a texture-based ap- proach where the textures are generated on-the-fly by rendering the vector shapes into p-buffers. An on-demand texture pyramid that associates equally sized textures with each quadtree node is used to improve visual quality when zooming in. However, many expensive p-buffer switches have to be carried out. Even with more recent and efficient extensions, for example framebuffer objects, each switch still requires a complete pipeline flush. Bruneton et al. [Bruneton & Neyret 2008] presented a method for real-time rendering and editing of vector data using a GPU-friendly algorithm. They adaptively refine spline curves on the CPU and rasterize them into textures using tri- angle strips. In addition to that, they also deal with modifications of the terrain shape under constraints introduced by the vector shapes.