23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti...

21
The Visual Computer 23(8):583–605, 2007 pre-print manuscript Renato Pajarola · Enrico Gobbetti Survey on Semi-Regular Multiresolution Models for Interactive Terrain Rendering Abstract Rendering high quality digital terrains at inter- active rates requires carefully crafted algorithms and data structures able to balance the competing requirements of re- alism and frame rates, while taking into account the mem- ory and speed limitations of the underlying graphics plat- form. In this survey, we analyze multi-resolution approaches that exploit a certain semi-regularity of the data. These ap- proaches have produced some of the most efficient systems to date. After providing a short background and motivation for the methods, we focus on illustrating models based on tiled blocks and nested regular grids, quadtrees and triangle bin-trees triangulations, as well as cluster based approaches. We then discuss LOD error metrics and system-level data management aspects of interactive terrain visualization, in- cluding dynamic scene management, out-of-core data orga- nization and compression, as well as numerical accuracy. Keywords Terrain rendering · Multiresolution triangula- tion · Semi-regular meshes 1 Introduction Efficient interactive visualization of very large digital ele- vation models (DEMs) is important in a number of appli- cation domains, such as scientific visualization, GIS, map- ping applications, virtual reality, flight simulation, military command & control, or interactive 3D games. Due to the R. Pajarola Visualization and MultiMedia Lab Department of Informatics, University of Z¨ urich Tel.: +41-44-635 4370 Fax: +41-44-635 43 6809 E-mail: [email protected] E. Gobbetti Visual Computing Group Center for Advanced Studies, Research, and Development in Sardinia 09010 Pula (CA) – Italy Tel.: +39-070-9250 1 Fax: +39-070-9250 254 E-mail: [email protected] ever increasing complexity of DEMs, real-time display im- poses strict efficiency constraints on the visualization sys- tem, which is forced to dynamically trade rendering qual- ity with usage of limited system resources. The investiga- tion of multiresolution methods to dynamically adapt ren- dered model complexity has thus been, and still is, a very active computer graphics research area. The concept has ex- tensively been studied for general 3D triangle meshes and has been surveyed, for instance, in [25,10,18,39,38], and more recently in [16]. While general data structure and al- gorithms are also applicable to digital terrain models, the most efficient systems to date rely on a variety of methods specifically tailored to terrain models, i.e., 2.5-dimensional surfaces. In this survey, we present and analyze the most com- mon multiresolution approaches for terrain rendering that exploit a certain semi-regularity of the data to gain max- imum efficiency. Reference [11] provides a classic survey focusing more on multiresolution terrain models over irreg- ular meshes. After providing a short background and motivation for the methods (Section 2), we provide an overview of the most common approaches. Section 3 provides examples of mod- els based on tiled blocks and nested regular grids, Section 4 surveys quadtree and triangle bin-trees triangulations, while Section 5 is devoted to recent GPU friendly cluster based approaches. We then discuss error metrics (Section 6) and system-level aspects of interactive terrain visualization (Sec- tion 7), including dynamic scene management; out-of-core data organization and compression, as well as numerical ac- curacy. The paper concludes with a short summary in Sec- tion 8. 2 Background and Motivation A multiresolution terrain model supporting view-dependent rendering must efficiently encode the steps performed by a mesh refinement or coarsening process in a compact data structure from which a virtually continuous set of variable resolution meshes can be extracted, loaded on demand, and

Transcript of 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti...

Page 1: 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti …00000000-2d84-4b92-0000-0000445d2ab2/... · Survey on Semi-Regular Multiresolution Models for Interactive ... Survey on semi-regular

The Visual Computer 23(8):583–605, 2007pre-print manuscript

Renato Pajarola · Enrico Gobbetti

Survey on Semi-Regular Multiresolution Models for InteractiveTerrain Rendering

Abstract Rendering high quality digital terrains at inter-active rates requires carefully crafted algorithms and datastructures able to balance the competing requirements of re-alism and frame rates, while taking into account the mem-ory and speed limitations of the underlying graphics plat-form. In this survey, we analyze multi-resolution approachesthat exploit a certain semi-regularity of the data. These ap-proaches have produced some of the most efficient systemsto date. After providing a short background and motivationfor the methods, we focus on illustrating models based ontiled blocks and nested regular grids, quadtrees and trianglebin-trees triangulations, as well as cluster based approaches.We then discuss LOD error metrics and system-level datamanagement aspects of interactive terrain visualization, in-cluding dynamic scene management, out-of-core data orga-nization and compression, as well as numerical accuracy.

Keywords Terrain rendering· Multiresolution triangula-tion · Semi-regular meshes

1 Introduction

Efficient interactive visualization of very large digital ele-vation models (DEMs) is important in a number of appli-cation domains, such as scientific visualization, GIS, map-ping applications, virtual reality, flight simulation, militarycommand & control, or interactive 3D games. Due to the

R. PajarolaVisualization and MultiMedia LabDepartment of Informatics, University of ZurichTel.: +41-44-635 4370Fax: +41-44-635 43 6809E-mail: [email protected]

E. GobbettiVisual Computing GroupCenter for Advanced Studies, Research, and Development in Sardinia09010 Pula (CA) – ItalyTel.: +39-070-9250 1Fax: +39-070-9250 254E-mail: [email protected]

ever increasing complexity of DEMs, real-time display im-poses strict efficiency constraints on the visualization sys-tem, which is forced to dynamically trade rendering qual-ity with usage of limited system resources. The investiga-tion of multiresolution methods to dynamically adapt ren-dered model complexity has thus been, and still is, a veryactive computer graphics research area. The concept has ex-tensively been studied for general 3D triangle meshes andhas been surveyed, for instance, in [25,10,18,39,38], andmore recently in [16]. While general data structure and al-gorithms are also applicable to digital terrain models, themost efficient systems to date rely on a variety of methodsspecifically tailored to terrain models, i.e., 2.5-dimensionalsurfaces.

In this survey, we present and analyze the most com-mon multiresolution approaches for terrain rendering thatexploit a certain semi-regularity of the data to gain max-imum efficiency. Reference [11] provides a classic surveyfocusing more on multiresolution terrain models over irreg-ular meshes.

After providing a short background and motivation forthe methods (Section 2), we provide an overview of the mostcommon approaches. Section 3 provides examples of mod-els based on tiled blocks and nested regular grids, Section 4surveys quadtree and triangle bin-trees triangulations, whileSection 5 is devoted to recent GPU friendly cluster basedapproaches. We then discuss error metrics (Section 6) andsystem-level aspects of interactive terrain visualization (Sec-tion 7), including dynamic scene management; out-of-coredata organization and compression, as well as numerical ac-curacy. The paper concludes with a short summary in Sec-tion 8.

2 Background and Motivation

A multiresolution terrain model supporting view-dependentrendering must efficiently encode the steps performed by amesh refinement or coarsening process in a compact datastructure from which a virtually continuous set of variableresolution meshes can be extracted, loaded on demand, and

Page 2: 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti …00000000-2d84-4b92-0000-0000445d2ab2/... · Survey on Semi-Regular Multiresolution Models for Interactive ... Survey on semi-regular

2 Renato Pajarola, Enrico Gobbetti

efficiently rendered at run time. The basic ingredients of asuch a model are abase mesh, that defines the coarsestapproximation to the terrain surface, a set ofupdates, that,when applied to the base mesh, provide variable resolutionmesh-based representations, and adependency relationamong updates, which allows combining them to extractconsistent intermediate representations [16]. Interactiverendering of large datasets consists in extracting at run time,through a view-dependent querya consistent minimumcomplexity representation that minimizes aview-dependenterror measure, eventually loading it on demand fromexternal memory. Different specialized multiresolutionmodels, of various efficiency and generality, are obtainedby mixing and matching different instances of all theseingredients.

In the most general case, the multiresolution model isbased on a fully irregular approach in which the base meshis an irregular triangulation with unrestricted connectivity,and updates are encoded either explicitly in terms of sets ofremoved and inserted triangles, e.g., [17], or implicitly bythe operations through which the model is refined or coars-ened (i.e., edge collapse/split or vertex insertion/removal),e.g., [27]. A dimension-independent framework fully cover-ing this kind of models is the Multi-Tessellation [48,12]. Be-cause of their flexibility, fully irregular approaches are theo-retically capable of producing the minimum complexity rep-resentation for a given error measure. However, this flexibil-ity comes at a price. In particular, mesh connectivity, hierar-chy, and dependencies must explicitly be encoded, and sim-plification and coarsening operations must handle arbitraryneighborhoods. By imposing constraints on mesh connec-tivity and update operations it is possible to devise classesof more restricted models that are less costly to store, trans-mit, render, and simpler to modify. This is because much ofthe information required for all these tasks becomes implicit,and often, because stricter bounds on the region of influenceof each local modification can be defined.

Using meshes with semi-regular or regular connectiv-ity, together with fixed subdivision rules, is particularly welladapted to terrains, since input data from remote sensingmost often comes in gridded form. Moreover, as the cost of3D transformations is becoming negligible on current hard-ware, controlling the shape of each rendered triangle starts tobecome negligible, favoring methods with the most compactand efficient host-to-graphics interface. For all these reasons,regular or semi-regular approaches have produced some ofthe most efficient systems to date.

3 Non-conforming and limited adaptivity techniques:tiled blocks and nested regular grids

A number of successful large scale terrain visualization sys-tems are based on data structures that do not support fullyadaptive surfaces but are simple to implement and efficientin communicating with the I/O subsystem and with the un-derlying graphics hardware.

3.1 Multiple static level-of-detail rendering based on tiledblocks

Early LOD terrain rendering methods used a fixed repre-sentation approach. With these methods, multiple represen-tations of parts of the terrain, typically square blocks, areprecomputed and stored off-line. At run time, the appro-priate approximation mesh is assembled from precomputedblocks based on the current view-parameters. Because dif-ferent parts of the terrain may be using different representa-tions in the current approximation, cracks can occur at theboundaries between different-resolution representations.

The NPSNET military simulation system [15], for in-stance, decomposes the terrain into adjacent blocks repre-sented at four different levels of details. The representationsare precomputed and stored on disk. A 16x16 grid of blocksis kept in memory, and a simple distance metric is used to de-termine the resolution at which each block will be rendered(Figure 1). No effort is made to stitch blocks. As the viewermoves, an entire row or column is paged out while the oppo-site one is paged in. This technique is also used in the mostrecent and general work on geometry clipmaps [37]. As thenumber of LODs is fixed, the model provides very limitedadaptivity and is tuned to particular applications with nar-row fields of view.

Fig. 1 Multiresolution rendering in NPSNET.

In [32,50], rather than dividing the terrain into a grid,the authors represent it using a quadtree. Each level of thequadtree has a single LOD representation that consists ofuniform grid over a fixed number of sample points. The root-level mesh represents the entire terrain, while deeper lev-els represent one quarter of the previous level’s area. Atrun time, the quadtree is traversed and a decision is madeabout which blocks of terrain should be used to represent theterrain. To visually deal with discontinuities at tile bound-aries, vertical wall polygons are constructed between thetile edges. This work was then extended in [6] by associat-ing at each block a precomputed fixed representation, whichis chosen among uniform meshes, non-uniform grids, andTINs. This allows nodes that are deep in the tree to repre-sent fine-grained features (such as river beds or roadways)using a TIN representation, while allowing a uniform mesh

Page 3: 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti …00000000-2d84-4b92-0000-0000445d2ab2/... · Survey on Semi-Regular Multiresolution Models for Interactive ... Survey on semi-regular

Survey on semi-regular multiresolution models for interactive terrain rendering 3

representation to be at shallower levels in the tree. As in [32],cracks between adjacent blocks of terrain are filled by verti-cal wall polygons. Other visual crack filling methods includeadding flanges around blocks, so that neighboring meshesinterpenetrate slightly, as well as joining blocks with specialmeshes at run-time [59],

Even if these methods may seem overly simplistic, sincethey do not produce continuous levels-of-detail and requirework to fix the cracks at block boundaries, and introducehard to control visual artefacts, they are still very popular, es-pecially for networked applications, mostly because of scal-ability, ease of implementation, and simplicity of integrationwith an efficient tile based I/O system.

3.2 Nested regular grids

Losasso and Hoppe [37] have recently proposed thegeometry clipmap, a simple and efficient approach thatparallels with the LOD treatment of images. A pre-filteredmipmap pyramid is a natural representation of terraindata. The pyramid represents nested extents at successivepower-of-two resolutions. Geometry clipmaps cache invideo memory nested rectangular extents of the pyramidto create view-dependent approximations (see Figure 2).As the viewpoint moves, the clipmap levels shift andare incrementally refilled with data. To permit efficientincremental updates, the array is accessed toroidally, i.e.with 2D wraparound addressing using mod operations onx and y. Transition regions are created to smoothly blendbetween levels, and T-junctions are avoided by stitchingthe level boundaries using zero-area triangles. The LODtransition scheme allows independent translation of theclipmap levels, and lets levels be cropped rather thaninvalidated atomically. Since LODs are purely based on2D distance from clipmap center, the terrain data does notrequire precomputation of refinement criteria. Togetherwith the simple grid structure, this allows the terrain tobe synthesized on-the-fly, or to be stored in a highlycompressed format. For compression, the residuals betweenlevels are compressed using an advanced image coder thatsupports fast access to image regions.

Storing in a compressed form just the heights and re-constructing at runtime both normal and color data (using asimple height color mapping) provides a very compact rep-resentation that can be maintained in main memory even forlarge datasets. The pyramidal scheme limits however adap-tivity. In particular, as with texture clipmap-based methods,the technique works best for wide field of views and nearlyplanar geometry, and would not apply to planetary recon-structions that would require more than one nesting neigh-borhood for a given perspective.

3.3 Discussion

The methods surveyed in this section strive to provide a sim-ple and efficient implementation at the cost of imposing lim-

Fig. 2 Geometry clipmap.

itations in adaptivity and approximation quality. In the nextsections we will see methods that rely on more complex,but also more powerful data structures. We will first sur-vey quadtree and bin-tree triangulations, i.e. methods able toconstruct fully continuous levels of details by imposing con-sistency rules on local subdivision. We will then show howthese methods can be made more efficient in terms of rawtriangle throughput by employing a cluster based approach.

4 Variable resolution triangulation using quadtree andtriangle bin-tree subdivision

From the point of view of the rapid adaptive constructionand display of continuous terrain surfaces, some of the mostsuccessful examples are based on quadtree or triangle bin-tree triangulation. As we will see, the scheme permits thecreation of continuous variable resolution surfaces withouthaving to cope with the gaps created by other regular gridschemes, as those in Section 3. The main idea shared by allof these approaches is to build a regular multiresolution hi-erarchy by refinement or by simplification. The refinementapproach starts from an isosceles right triangle and proceedsby recursively refining it by bisecting its longest edge andcreating two smaller right triangles. In the simplification ap-proach the steps are reversed: given a regular triangulationof a gridded terrain, pairs of right triangles are selectivelymerged. The regular structure of these operations enables toimplicitly encode all the dependencies among the various re-finement/simplification operations in a compact and simpleway.

Depending on the definition of the triangulation rule,there is potentially a difference in the adaptive triangula-tion power of quadtree based triangulations versus trianglebin-trees. Generally, any of the discussed quadtree triangu-lations can be considered a special case of recursive trianglebisection. Nevertheless, from the refined definition of a re-stricted quadtree triangulation as presented in [58,57] andthe following works [34,42] one can arguably consider therestricted quadtree triangulation and triangle bin-tree to pro-duce the same class of adaptive grid triangulations. Hencewe use the term restricted quadtree triangulation more inline with [57] rather than with the more strict definition as in[49].

Page 4: 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti …00000000-2d84-4b92-0000-0000445d2ab2/... · Survey on Semi-Regular Multiresolution Models for Interactive ... Survey on semi-regular

4 Renato Pajarola, Enrico Gobbetti

4.1 Quadtree Triangulation

In this section we discuss the various algorithms of quadtreebased adaptive triangulation of height-fields (or parametrictwo-dimensional surfaces). The closely related trianglebisection approaches are discussed in Section 4.2. A typicalexample of a simplified triangulated surface that can beconstructed using this class of multiresolution triangulationmethods is given in Figure 3.

Fig. 3 Adaptive quadtree based terrain triangulation.

Restricted Quadtrees.Hierarchical, quadtree basedadaptive triangulation of 2-manifold surfaces has firstbeen presented in [62] and applied to adaptively sampleand triangulate curved parametric surfaces. In parameterspace, the quadtree subdivision is performed recursivelyuntil for each sampled region the Lipschitz condition forthe parametric curve is met that bounds the accuracy ofthe resulting polygonal approximation. Furthermore, thequadtree subdivision is restricted such that neighboringregions must be within one level of each other in thequadtree hierarchy as shown in Figure 4.

2

bin-tree based hierarchical multiresolution triangulationmethods with respect to efficiency according to the pointslisted above. For more detailed explanations and in-depthanalysis the reader is referred to the original referenced arti-cles introducing the different algorithms and data structures.

The remainder of this review is organized as follows. InSection 2 we briefly review the most closely related workon multiresolution meshing and terrain visualization.Section 3 and Section 4 describe the different triangulationalgorithms and LOD hierarchies while Section 5 discussesthe LOD error metrics. Additionally, in Section 6 we reviewcluster based approaches, and Section 7 discusses system-level data management aspects of interactive terrain visual-ization. The paper concludes with a discussion in Section 8.

2. Related Work

A number of approaches for 3D triangle mesh simplificationand multiresolution triangulation have been developed overthe last decade, and a thorough discussion is beyond thescope of this article. For detailed overviews on general meshsimplification and multiresolution modeling see [HG97,CMS98, Gar99, Lue01, LRC+03]. Here we want to focus moreon adaptive triangulation and mesh simplification particularlyaimed at grid-digital terrain height-field triangulation and visu-alization.

Since height-fields are so called 2.5-dimensional sur-faces – no overlap in elevation is possible for a particulargeographical location – related work on terrain triangulationis often based on the principle of 2D

Delaunay

triangula-tions [Del34] to create

triangular irregular networks

(TINs)that represent the terrain surface. In [Lee91] and [GH95] sev-eral incremental point insertion and point removal methods arediscussed and compared that can be used to create TINs effi-ciently from height-field data. The Delaunay pyramid [DF89,VBH94] is a multiresolution extension of Delaunay basedTINs in which groups of connected triangles are hierarchi-cally replaced by sets with fewer triangles, see also[dBD95]. Other hierarchical triangulations as discussed in[DFP95], [DFMP96] and [Pup96] are mainly based on recur-sive subdivision of triangles. In [Hop98] a hierarchical multi-resolution terrain triangulation method is presented that isbased on progressive application of edge-collapse and vertex-split mesh simplification and refinement operations[Hop96].

Similar to the approaches surveyed in this paper, aquadtree hierarchy is imposed on the height-field grid by the2D wavelet transform applied in [GGS95] to simplify the ter-rain. In this approach elevation points are basically removedfrom the grid based on the significance of their wavelet coef-ficients, and the remaining quadtree-like point set is locallytriangulated using look-up tables. Quadtree based triangula-tions as discussed here for terrain visualization have alsobeen applied to image compression, for example in conjunc-tion with wavelet decomposition [HK95].

In fact, several of these proposed terrain simplificationand triangulation methods are particularly efficient withrespect to triangulation performance (i.e. [GH95] or[Hop98]) or LOD adaptivity (i.e. [Hop98] or [GGS95]).Nonetheless, the quadtree based triangulation methods outlinedin here provide a more compact representation of the terrain(including all LODs up to full resolution), better spatial access,faster LOD triangulation and rendering, and are easier toimplement as well. Note that these advantages come at someexpense of increased complexity (size) of the rendered trian-gle mesh, with the exception of [PAL02].

3. Quadtree Triangulation

In this section we discuss the various algorithms of quadtreebased adaptive triangulation of height-fields (or parametrictwo-dimensional surfaces). The equivalent triangle bisectionapproaches are discussed in the following Section 4. Anexample of the type of simplified triangulated surfaces thatcan be constructed using this class of multiresolution trian-gulation methods is given in Figure 1.

FIGURE 1.

Adaptive quadtree based terrain triangulation.

3.1 Restricted Quadtrees

Hierarchical, quadtree based adaptive triangulation of 2-manifold surfaces has first been presented in [VHB87] andapplied to adaptively sample and triangulate curved para-metric surfaces. In parameter space, the quadtree subdivi-sion is performed recursively until for each sampled regionthe

Lipschitz

condition for the parametric curve is met thatbounds the accuracy of the resulting polygonal approxima-tion. Furthermore, the quadtree subdivision is restrictedsuch that neighboring regions must be within one level ofeach other in the quadtree hierarchy as shown in Figure 2.

FIGURE 2.

Example of an unrestricted quadtree subdivisionin parameter space in a), and the restricted subdivision in b).

a) b)b))

2

bin-tree based hierarchical multiresolution triangulationmethods with respect to efficiency according to the pointslisted above. For more detailed explanations and in-depthanalysis the reader is referred to the original referenced arti-cles introducing the different algorithms and data structures.

The remainder of this review is organized as follows. InSection 2 we briefly review the most closely related workon multiresolution meshing and terrain visualization.Section 3 and Section 4 describe the different triangulationalgorithms and LOD hierarchies while Section 5 discussesthe LOD error metrics. Additionally, in Section 6 we reviewcluster based approaches, and Section 7 discusses system-level data management aspects of interactive terrain visual-ization. The paper concludes with a discussion in Section 8.

2. Related Work

A number of approaches for 3D triangle mesh simplificationand multiresolution triangulation have been developed overthe last decade, and a thorough discussion is beyond thescope of this article. For detailed overviews on general meshsimplification and multiresolution modeling see [HG97,CMS98, Gar99, Lue01, LRC+03]. Here we want to focus moreon adaptive triangulation and mesh simplification particularlyaimed at grid-digital terrain height-field triangulation and visu-alization.

Since height-fields are so called 2.5-dimensional sur-faces – no overlap in elevation is possible for a particulargeographical location – related work on terrain triangulationis often based on the principle of 2D

Delaunay

triangula-tions [Del34] to create

triangular irregular networks

(TINs)that represent the terrain surface. In [Lee91] and [GH95] sev-eral incremental point insertion and point removal methods arediscussed and compared that can be used to create TINs effi-ciently from height-field data. The Delaunay pyramid [DF89,VBH94] is a multiresolution extension of Delaunay basedTINs in which groups of connected triangles are hierarchi-cally replaced by sets with fewer triangles, see also[dBD95]. Other hierarchical triangulations as discussed in[DFP95], [DFMP96] and [Pup96] are mainly based on recur-sive subdivision of triangles. In [Hop98] a hierarchical multi-resolution terrain triangulation method is presented that isbased on progressive application of edge-collapse and vertex-split mesh simplification and refinement operations[Hop96].

Similar to the approaches surveyed in this paper, aquadtree hierarchy is imposed on the height-field grid by the2D wavelet transform applied in [GGS95] to simplify the ter-rain. In this approach elevation points are basically removedfrom the grid based on the significance of their wavelet coef-ficients, and the remaining quadtree-like point set is locallytriangulated using look-up tables. Quadtree based triangula-tions as discussed here for terrain visualization have alsobeen applied to image compression, for example in conjunc-tion with wavelet decomposition [HK95].

In fact, several of these proposed terrain simplificationand triangulation methods are particularly efficient withrespect to triangulation performance (i.e. [GH95] or[Hop98]) or LOD adaptivity (i.e. [Hop98] or [GGS95]).Nonetheless, the quadtree based triangulation methods outlinedin here provide a more compact representation of the terrain(including all LODs up to full resolution), better spatial access,faster LOD triangulation and rendering, and are easier toimplement as well. Note that these advantages come at someexpense of increased complexity (size) of the rendered trian-gle mesh, with the exception of [PAL02].

3. Quadtree Triangulation

In this section we discuss the various algorithms of quadtreebased adaptive triangulation of height-fields (or parametrictwo-dimensional surfaces). The equivalent triangle bisectionapproaches are discussed in the following Section 4. Anexample of the type of simplified triangulated surfaces thatcan be constructed using this class of multiresolution trian-gulation methods is given in Figure 1.

FIGURE 1.

Adaptive quadtree based terrain triangulation.

3.1 Restricted Quadtrees

Hierarchical, quadtree based adaptive triangulation of 2-manifold surfaces has first been presented in [VHB87] andapplied to adaptively sample and triangulate curved para-metric surfaces. In parameter space, the quadtree subdivi-sion is performed recursively until for each sampled regionthe

Lipschitz

condition for the parametric curve is met thatbounds the accuracy of the resulting polygonal approxima-tion. Furthermore, the quadtree subdivision is restrictedsuch that neighboring regions must be within one level ofeach other in the quadtree hierarchy as shown in Figure 2.

FIGURE 2.

Example of an unrestricted quadtree subdivisionin parameter space in a), and the restricted subdivision in b).

a) b)b))

a) b)

Fig. 4 Example of an unrestricted quadtree subdivision in parameterspace in a), and the restricted subdivision in b).

The basic approach for triangulation and visualizationuses the following steps:

1. Initial sampling of function on a uniform grid.2. Evaluation of each region with respect to some accep-

tance criteria (approximation error metric).

3. 4-split of unacceptable regions.4. Repetition of Steps 2 and 3 until adaptive sampling sat-

isfies acceptance criteria over the entire surface.5. Triangulation and rendering of all quadtree regions.

To prevent possiblecracks in the polygonal represen-tation of a restricted quadtree as shown in Figure 5, everyquadtree region is triangulated with respect to the resolutionof its adjacent regions. Due to the constraint of the restrictedquadtree hierarchy that the levels of adjacent regions differat most by one, the regions can be triangulated such that nocracks appear as outlined below. Such a crack-free triangu-lation is also calledconforming.

3

The basic approach for triangulation and visualizationuses the following steps:

1.

Initial sampling of function on a uniform grid.

2.

Evaluation of each region with respect to someacceptance criteria (approximation error metric).

3.

4-split of unacceptable regions.Repetition of Steps 2 and 3 until adaptive samplingsatisfies acceptance criteria over the entire surface.

4.

Triangulation and rendering of all quadtree regions.

To prevent possible

cracks

in the polygonal representa-tion of a restricted quadtree as shown in Figure 3, everyquadtree region is triangulated with respect to the resolutionof its adjacent regions. Due to the constraint of the restrictedquadtree hierarchy that the levels of adjacent regions differat most by one, the regions can be triangulated such that nocracks appear as outlined below. Such a crack-free triangu-lation is also called

matching

.

FIGURE 3.

Cracks (shaded in grey) resulting from aquadrilateral polygonal representation of a restrictedquadtree.

The triangulation rule as stated in [VHB87] is the fol-lowing: Each square is subdivided into eight triangles, twotriangles per edge, unless the edge borders a larger square inwhich case a single triangle is formed along that edge.Figure 4 shows a triangulation of a restricted quadtree fol-lowing this rule.

FIGURE 4.

Matching triangulation of a restricted quadtreesubdivision as in [VHB87].

No detailed algorithms and data structures are given in[VHB87] to construct and triangulate a restricted quadtree.Nevertheless, the presented restricted quadtree subdivisionand its triangulation forms the fundamental basis on whichmost of the surveyed triangulation approaches are built.

3.2 Quadtree Surface Maps

In [SS92], the restricted quadtree technique is applied to 2.5-dimensional surface data consisting of points on a regular 2D-grid and each having a

height

value associated with it. This isthe common representation of grid-digital terrain elevationmodels. In addition to the basic method as presented in

[VHB87], in [SS92] two efficient construction algorithms togenerate and triangulate a restricted quadtree from a set ofpoints on a regular grid are provided. One method is performedbottom-up and the other top-down to generate the restrictedquadtree hierarchy. Furthermore, in [SS92] it is also observedthat edges shared by two quadtree nodes on the same hierarchylevel do not have to be split to guarantee a matching triangula-tion as shown in Figure 5 in comparison to Figure 4.

FIGURE 5.

Improved matching triangulation of a restrictedquadtree subdivision as in [SS92].

In the

bottom-up

construction method, the (square) inputgrid is partitioned into atomic nodes of 3x3 elevation pointsas shown in Figure 6. These nodes form the leaf nodes of acomplete and balanced quadtree over the entire input grid.

FIGURE 6.

Atomic leaf-node for bottom-up construction ofrestricted quadtree.

The main phase of this method then consists of coalesc-ing all mergible nodes bottom-up to create the restrictedquadtree. Nodes must pass two main criteria before they canbe merged:

1.

Error measure

: The approximation error introducedby removing the edge mid-point vertices of the nodesbeing merged must be within the tolerance of a givenerror threshold.

2.

Quadtree constraints

: The size of the node is equal tothe size of its three siblings in the quadtree hierarchy,and neither the node nor its siblings have anysmaller-sized neighbors.

The approximation error of Criterion 1 used in [SS92] isfurther discussed in Section 5. The algorithm terminates ifno more merges can be performed, and it has a linear spaceand time cost O(

n

) in the size

n

of the input data set.

The second algorithm presented in [SS92] is a

top-down

construction of the restricted quadtree hierarchy. Thismethod starts with representing the entire data set simplifiedby one root node and splits nodes recursively, never mergesany, as necessary to approximate the data set. The methodmaintains at all time the restricted quadtree property thatadjacent leaf nodes do not differ by more than one level inthe hierarchy.

3

The basic approach for triangulation and visualizationuses the following steps:

1.

Initial sampling of function on a uniform grid.

2.

Evaluation of each region with respect to someacceptance criteria (approximation error metric).

3.

4-split of unacceptable regions.Repetition of Steps 2 and 3 until adaptive samplingsatisfies acceptance criteria over the entire surface.

4.

Triangulation and rendering of all quadtree regions.

To prevent possible

cracks

in the polygonal representa-tion of a restricted quadtree as shown in Figure 3, everyquadtree region is triangulated with respect to the resolutionof its adjacent regions. Due to the constraint of the restrictedquadtree hierarchy that the levels of adjacent regions differat most by one, the regions can be triangulated such that nocracks appear as outlined below. Such a crack-free triangu-lation is also called

matching

.

FIGURE 3.

Cracks (shaded in grey) resulting from aquadrilateral polygonal representation of a restrictedquadtree.

The triangulation rule as stated in [VHB87] is the fol-lowing: Each square is subdivided into eight triangles, twotriangles per edge, unless the edge borders a larger square inwhich case a single triangle is formed along that edge.Figure 4 shows a triangulation of a restricted quadtree fol-lowing this rule.

FIGURE 4.

Matching triangulation of a restricted quadtreesubdivision as in [VHB87].

No detailed algorithms and data structures are given in[VHB87] to construct and triangulate a restricted quadtree.Nevertheless, the presented restricted quadtree subdivisionand its triangulation forms the fundamental basis on whichmost of the surveyed triangulation approaches are built.

3.2 Quadtree Surface Maps

In [SS92], the restricted quadtree technique is applied to 2.5-dimensional surface data consisting of points on a regular 2D-grid and each having a

height

value associated with it. This isthe common representation of grid-digital terrain elevationmodels. In addition to the basic method as presented in

[VHB87], in [SS92] two efficient construction algorithms togenerate and triangulate a restricted quadtree from a set ofpoints on a regular grid are provided. One method is performedbottom-up and the other top-down to generate the restrictedquadtree hierarchy. Furthermore, in [SS92] it is also observedthat edges shared by two quadtree nodes on the same hierarchylevel do not have to be split to guarantee a matching triangula-tion as shown in Figure 5 in comparison to Figure 4.

FIGURE 5.

Improved matching triangulation of a restrictedquadtree subdivision as in [SS92].

In the

bottom-up

construction method, the (square) inputgrid is partitioned into atomic nodes of 3x3 elevation pointsas shown in Figure 6. These nodes form the leaf nodes of acomplete and balanced quadtree over the entire input grid.

FIGURE 6.

Atomic leaf-node for bottom-up construction ofrestricted quadtree.

The main phase of this method then consists of coalesc-ing all mergible nodes bottom-up to create the restrictedquadtree. Nodes must pass two main criteria before they canbe merged:

1.

Error measure

: The approximation error introducedby removing the edge mid-point vertices of the nodesbeing merged must be within the tolerance of a givenerror threshold.

2.

Quadtree constraints

: The size of the node is equal tothe size of its three siblings in the quadtree hierarchy,and neither the node nor its siblings have anysmaller-sized neighbors.

The approximation error of Criterion 1 used in [SS92] isfurther discussed in Section 5. The algorithm terminates ifno more merges can be performed, and it has a linear spaceand time cost O(

n

) in the size

n

of the input data set.

The second algorithm presented in [SS92] is a

top-down

construction of the restricted quadtree hierarchy. Thismethod starts with representing the entire data set simplifiedby one root node and splits nodes recursively, never mergesany, as necessary to approximate the data set. The methodmaintains at all time the restricted quadtree property thatadjacent leaf nodes do not differ by more than one level inthe hierarchy.

Fig. 5 Cracks (shaded in grey) resulting from a quadrilateral polygonalrepresentation of a restricted quadtree.

The triangulation rule as stated in [62] is the following:Each square is subdivided into eight triangles, two trianglesper edge, unless the edge borders a larger square in whichcase a single triangle is formed along that edge. Figure 6shows a triangulation of a restricted quadtree following thisrule.

3

The basic approach for triangulation and visualizationuses the following steps:

1.

Initial sampling of function on a uniform grid.

2.

Evaluation of each region with respect to someacceptance criteria (approximation error metric).

3.

4-split of unacceptable regions.Repetition of Steps 2 and 3 until adaptive samplingsatisfies acceptance criteria over the entire surface.

4.

Triangulation and rendering of all quadtree regions.

To prevent possible

cracks

in the polygonal representa-tion of a restricted quadtree as shown in Figure 3, everyquadtree region is triangulated with respect to the resolutionof its adjacent regions. Due to the constraint of the restrictedquadtree hierarchy that the levels of adjacent regions differat most by one, the regions can be triangulated such that nocracks appear as outlined below. Such a crack-free triangu-lation is also called

matching

.

FIGURE 3.

Cracks (shaded in grey) resulting from aquadrilateral polygonal representation of a restrictedquadtree.

The triangulation rule as stated in [VHB87] is the fol-lowing: Each square is subdivided into eight triangles, twotriangles per edge, unless the edge borders a larger square inwhich case a single triangle is formed along that edge.Figure 4 shows a triangulation of a restricted quadtree fol-lowing this rule.

FIGURE 4.

Matching triangulation of a restricted quadtreesubdivision as in [VHB87].

No detailed algorithms and data structures are given in[VHB87] to construct and triangulate a restricted quadtree.Nevertheless, the presented restricted quadtree subdivisionand its triangulation forms the fundamental basis on whichmost of the surveyed triangulation approaches are built.

3.2 Quadtree Surface Maps

In [SS92], the restricted quadtree technique is applied to 2.5-dimensional surface data consisting of points on a regular 2D-grid and each having a

height

value associated with it. This isthe common representation of grid-digital terrain elevationmodels. In addition to the basic method as presented in

[VHB87], in [SS92] two efficient construction algorithms togenerate and triangulate a restricted quadtree from a set ofpoints on a regular grid are provided. One method is performedbottom-up and the other top-down to generate the restrictedquadtree hierarchy. Furthermore, in [SS92] it is also observedthat edges shared by two quadtree nodes on the same hierarchylevel do not have to be split to guarantee a matching triangula-tion as shown in Figure 5 in comparison to Figure 4.

FIGURE 5.

Improved matching triangulation of a restrictedquadtree subdivision as in [SS92].

In the

bottom-up

construction method, the (square) inputgrid is partitioned into atomic nodes of 3x3 elevation pointsas shown in Figure 6. These nodes form the leaf nodes of acomplete and balanced quadtree over the entire input grid.

FIGURE 6.

Atomic leaf-node for bottom-up construction ofrestricted quadtree.

The main phase of this method then consists of coalesc-ing all mergible nodes bottom-up to create the restrictedquadtree. Nodes must pass two main criteria before they canbe merged:

1.

Error measure

: The approximation error introducedby removing the edge mid-point vertices of the nodesbeing merged must be within the tolerance of a givenerror threshold.

2.

Quadtree constraints

: The size of the node is equal tothe size of its three siblings in the quadtree hierarchy,and neither the node nor its siblings have anysmaller-sized neighbors.

The approximation error of Criterion 1 used in [SS92] isfurther discussed in Section 5. The algorithm terminates ifno more merges can be performed, and it has a linear spaceand time cost O(

n

) in the size

n

of the input data set.

The second algorithm presented in [SS92] is a

top-down

construction of the restricted quadtree hierarchy. Thismethod starts with representing the entire data set simplifiedby one root node and splits nodes recursively, never mergesany, as necessary to approximate the data set. The methodmaintains at all time the restricted quadtree property thatadjacent leaf nodes do not differ by more than one level inthe hierarchy.

3

The basic approach for triangulation and visualizationuses the following steps:

1.

Initial sampling of function on a uniform grid.

2.

Evaluation of each region with respect to someacceptance criteria (approximation error metric).

3.

4-split of unacceptable regions.Repetition of Steps 2 and 3 until adaptive samplingsatisfies acceptance criteria over the entire surface.

4.

Triangulation and rendering of all quadtree regions.

To prevent possible

cracks

in the polygonal representa-tion of a restricted quadtree as shown in Figure 3, everyquadtree region is triangulated with respect to the resolutionof its adjacent regions. Due to the constraint of the restrictedquadtree hierarchy that the levels of adjacent regions differat most by one, the regions can be triangulated such that nocracks appear as outlined below. Such a crack-free triangu-lation is also called

matching

.

FIGURE 3.

Cracks (shaded in grey) resulting from aquadrilateral polygonal representation of a restrictedquadtree.

The triangulation rule as stated in [VHB87] is the fol-lowing: Each square is subdivided into eight triangles, twotriangles per edge, unless the edge borders a larger square inwhich case a single triangle is formed along that edge.Figure 4 shows a triangulation of a restricted quadtree fol-lowing this rule.

FIGURE 4.

Matching triangulation of a restricted quadtreesubdivision as in [VHB87].

No detailed algorithms and data structures are given in[VHB87] to construct and triangulate a restricted quadtree.Nevertheless, the presented restricted quadtree subdivisionand its triangulation forms the fundamental basis on whichmost of the surveyed triangulation approaches are built.

3.2 Quadtree Surface Maps

In [SS92], the restricted quadtree technique is applied to 2.5-dimensional surface data consisting of points on a regular 2D-grid and each having a

height

value associated with it. This isthe common representation of grid-digital terrain elevationmodels. In addition to the basic method as presented in

[VHB87], in [SS92] two efficient construction algorithms togenerate and triangulate a restricted quadtree from a set ofpoints on a regular grid are provided. One method is performedbottom-up and the other top-down to generate the restrictedquadtree hierarchy. Furthermore, in [SS92] it is also observedthat edges shared by two quadtree nodes on the same hierarchylevel do not have to be split to guarantee a matching triangula-tion as shown in Figure 5 in comparison to Figure 4.

FIGURE 5.

Improved matching triangulation of a restrictedquadtree subdivision as in [SS92].

In the

bottom-up

construction method, the (square) inputgrid is partitioned into atomic nodes of 3x3 elevation pointsas shown in Figure 6. These nodes form the leaf nodes of acomplete and balanced quadtree over the entire input grid.

FIGURE 6.

Atomic leaf-node for bottom-up construction ofrestricted quadtree.

The main phase of this method then consists of coalesc-ing all mergible nodes bottom-up to create the restrictedquadtree. Nodes must pass two main criteria before they canbe merged:

1.

Error measure

: The approximation error introducedby removing the edge mid-point vertices of the nodesbeing merged must be within the tolerance of a givenerror threshold.

2.

Quadtree constraints

: The size of the node is equal tothe size of its three siblings in the quadtree hierarchy,and neither the node nor its siblings have anysmaller-sized neighbors.

The approximation error of Criterion 1 used in [SS92] isfurther discussed in Section 5. The algorithm terminates ifno more merges can be performed, and it has a linear spaceand time cost O(

n

) in the size

n

of the input data set.

The second algorithm presented in [SS92] is a

top-down

construction of the restricted quadtree hierarchy. Thismethod starts with representing the entire data set simplifiedby one root node and splits nodes recursively, never mergesany, as necessary to approximate the data set. The methodmaintains at all time the restricted quadtree property thatadjacent leaf nodes do not differ by more than one level inthe hierarchy.

Fig. 6 Conforming triangulation of a restricted quadtree subdivisionas in [62].

No detailed algorithms and data structures are given in[62] to construct and triangulate a restricted quadtree. Never-theless, the presented restricted quadtree subdivision and itstriangulation forms the fundamental basis on which a num-ber of the surveyed triangulation approaches are built.

Quadtree Surface Maps.In [58,57], the restricted quadtreetechnique is refined and applied to 2.5-dimensional surfacedata consisting of points on a regular 2D-grid and each hav-ing a height value associated with it. This is the commonrepresentation of grid-digital terrain elevation models. In ad-dition to the basic method as presented in [62], in [58] twoefficient construction algorithms to generate and triangulate

Page 5: 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti …00000000-2d84-4b92-0000-0000445d2ab2/... · Survey on Semi-Regular Multiresolution Models for Interactive ... Survey on semi-regular

Survey on semi-regular multiresolution models for interactive terrain rendering 5

a restricted quadtree from a set of points on a regular gridare provided. One method is performed bottom-up and theother top-down to generate the restricted quadtree hierarchy.Furthermore, in [58] it is also observed that edges shared bytwo quadtree nodes on the same hierarchy level do not haveto be split to guarantee a conforming triangulation as shownin Figure 7 in comparison to Figure 6.

3

The basic approach for triangulation and visualizationuses the following steps:

1.

Initial sampling of function on a uniform grid.

2.

Evaluation of each region with respect to someacceptance criteria (approximation error metric).

3.

4-split of unacceptable regions.Repetition of Steps 2 and 3 until adaptive samplingsatisfies acceptance criteria over the entire surface.

4.

Triangulation and rendering of all quadtree regions.

To prevent possible

cracks

in the polygonal representa-tion of a restricted quadtree as shown in Figure 3, everyquadtree region is triangulated with respect to the resolutionof its adjacent regions. Due to the constraint of the restrictedquadtree hierarchy that the levels of adjacent regions differat most by one, the regions can be triangulated such that nocracks appear as outlined below. Such a crack-free triangu-lation is also called

matching

.

FIGURE 3.

Cracks (shaded in grey) resulting from aquadrilateral polygonal representation of a restrictedquadtree.

The triangulation rule as stated in [VHB87] is the fol-lowing: Each square is subdivided into eight triangles, twotriangles per edge, unless the edge borders a larger square inwhich case a single triangle is formed along that edge.Figure 4 shows a triangulation of a restricted quadtree fol-lowing this rule.

FIGURE 4.

Matching triangulation of a restricted quadtreesubdivision as in [VHB87].

No detailed algorithms and data structures are given in[VHB87] to construct and triangulate a restricted quadtree.Nevertheless, the presented restricted quadtree subdivisionand its triangulation forms the fundamental basis on whichmost of the surveyed triangulation approaches are built.

3.2 Quadtree Surface Maps

In [SS92], the restricted quadtree technique is applied to 2.5-dimensional surface data consisting of points on a regular 2D-grid and each having a

height

value associated with it. This isthe common representation of grid-digital terrain elevationmodels. In addition to the basic method as presented in

[VHB87], in [SS92] two efficient construction algorithms togenerate and triangulate a restricted quadtree from a set ofpoints on a regular grid are provided. One method is performedbottom-up and the other top-down to generate the restrictedquadtree hierarchy. Furthermore, in [SS92] it is also observedthat edges shared by two quadtree nodes on the same hierarchylevel do not have to be split to guarantee a matching triangula-tion as shown in Figure 5 in comparison to Figure 4.

FIGURE 5.

Improved matching triangulation of a restrictedquadtree subdivision as in [SS92].

In the

bottom-up

construction method, the (square) inputgrid is partitioned into atomic nodes of 3x3 elevation pointsas shown in Figure 6. These nodes form the leaf nodes of acomplete and balanced quadtree over the entire input grid.

FIGURE 6.

Atomic leaf-node for bottom-up construction ofrestricted quadtree.

The main phase of this method then consists of coalesc-ing all mergible nodes bottom-up to create the restrictedquadtree. Nodes must pass two main criteria before they canbe merged:

1.

Error measure

: The approximation error introducedby removing the edge mid-point vertices of the nodesbeing merged must be within the tolerance of a givenerror threshold.

2.

Quadtree constraints

: The size of the node is equal tothe size of its three siblings in the quadtree hierarchy,and neither the node nor its siblings have anysmaller-sized neighbors.

The approximation error of Criterion 1 used in [SS92] isfurther discussed in Section 5. The algorithm terminates ifno more merges can be performed, and it has a linear spaceand time cost O(

n

) in the size

n

of the input data set.

The second algorithm presented in [SS92] is a

top-down

construction of the restricted quadtree hierarchy. Thismethod starts with representing the entire data set simplifiedby one root node and splits nodes recursively, never mergesany, as necessary to approximate the data set. The methodmaintains at all time the restricted quadtree property thatadjacent leaf nodes do not differ by more than one level inthe hierarchy.

3

The basic approach for triangulation and visualizationuses the following steps:

1.

Initial sampling of function on a uniform grid.

2.

Evaluation of each region with respect to someacceptance criteria (approximation error metric).

3.

4-split of unacceptable regions.Repetition of Steps 2 and 3 until adaptive samplingsatisfies acceptance criteria over the entire surface.

4.

Triangulation and rendering of all quadtree regions.

To prevent possible

cracks

in the polygonal representa-tion of a restricted quadtree as shown in Figure 3, everyquadtree region is triangulated with respect to the resolutionof its adjacent regions. Due to the constraint of the restrictedquadtree hierarchy that the levels of adjacent regions differat most by one, the regions can be triangulated such that nocracks appear as outlined below. Such a crack-free triangu-lation is also called

matching

.

FIGURE 3.

Cracks (shaded in grey) resulting from aquadrilateral polygonal representation of a restrictedquadtree.

The triangulation rule as stated in [VHB87] is the fol-lowing: Each square is subdivided into eight triangles, twotriangles per edge, unless the edge borders a larger square inwhich case a single triangle is formed along that edge.Figure 4 shows a triangulation of a restricted quadtree fol-lowing this rule.

FIGURE 4.

Matching triangulation of a restricted quadtreesubdivision as in [VHB87].

No detailed algorithms and data structures are given in[VHB87] to construct and triangulate a restricted quadtree.Nevertheless, the presented restricted quadtree subdivisionand its triangulation forms the fundamental basis on whichmost of the surveyed triangulation approaches are built.

3.2 Quadtree Surface Maps

In [SS92], the restricted quadtree technique is applied to 2.5-dimensional surface data consisting of points on a regular 2D-grid and each having a

height

value associated with it. This isthe common representation of grid-digital terrain elevationmodels. In addition to the basic method as presented in

[VHB87], in [SS92] two efficient construction algorithms togenerate and triangulate a restricted quadtree from a set ofpoints on a regular grid are provided. One method is performedbottom-up and the other top-down to generate the restrictedquadtree hierarchy. Furthermore, in [SS92] it is also observedthat edges shared by two quadtree nodes on the same hierarchylevel do not have to be split to guarantee a matching triangula-tion as shown in Figure 5 in comparison to Figure 4.

FIGURE 5.

Improved matching triangulation of a restrictedquadtree subdivision as in [SS92].

In the

bottom-up

construction method, the (square) inputgrid is partitioned into atomic nodes of 3x3 elevation pointsas shown in Figure 6. These nodes form the leaf nodes of acomplete and balanced quadtree over the entire input grid.

FIGURE 6.

Atomic leaf-node for bottom-up construction ofrestricted quadtree.

The main phase of this method then consists of coalesc-ing all mergible nodes bottom-up to create the restrictedquadtree. Nodes must pass two main criteria before they canbe merged:

1.

Error measure

: The approximation error introducedby removing the edge mid-point vertices of the nodesbeing merged must be within the tolerance of a givenerror threshold.

2.

Quadtree constraints

: The size of the node is equal tothe size of its three siblings in the quadtree hierarchy,and neither the node nor its siblings have anysmaller-sized neighbors.

The approximation error of Criterion 1 used in [SS92] isfurther discussed in Section 5. The algorithm terminates ifno more merges can be performed, and it has a linear spaceand time cost O(

n

) in the size

n

of the input data set.

The second algorithm presented in [SS92] is a

top-down

construction of the restricted quadtree hierarchy. Thismethod starts with representing the entire data set simplifiedby one root node and splits nodes recursively, never mergesany, as necessary to approximate the data set. The methodmaintains at all time the restricted quadtree property thatadjacent leaf nodes do not differ by more than one level inthe hierarchy.

Fig. 7 Improved conforming triangulation of a restricted quadtree sub-division as in [58].

In thebottom-upconstruction method, the (square) inputgrid is partitioned into atomic nodes of 3x3 elevation pointsas shown in Figure 8. These nodes form the leaf nodes of acomplete and balanced quadtree over the entire input grid.

3

The basic approach for triangulation and visualizationuses the following steps:

1.

Initial sampling of function on a uniform grid.

2.

Evaluation of each region with respect to someacceptance criteria (approximation error metric).

3.

4-split of unacceptable regions.Repetition of Steps 2 and 3 until adaptive samplingsatisfies acceptance criteria over the entire surface.

4.

Triangulation and rendering of all quadtree regions.

To prevent possible

cracks

in the polygonal representa-tion of a restricted quadtree as shown in Figure 3, everyquadtree region is triangulated with respect to the resolutionof its adjacent regions. Due to the constraint of the restrictedquadtree hierarchy that the levels of adjacent regions differat most by one, the regions can be triangulated such that nocracks appear as outlined below. Such a crack-free triangu-lation is also called

matching

.

FIGURE 3.

Cracks (shaded in grey) resulting from aquadrilateral polygonal representation of a restrictedquadtree.

The triangulation rule as stated in [VHB87] is the fol-lowing: Each square is subdivided into eight triangles, twotriangles per edge, unless the edge borders a larger square inwhich case a single triangle is formed along that edge.Figure 4 shows a triangulation of a restricted quadtree fol-lowing this rule.

FIGURE 4.

Matching triangulation of a restricted quadtreesubdivision as in [VHB87].

No detailed algorithms and data structures are given in[VHB87] to construct and triangulate a restricted quadtree.Nevertheless, the presented restricted quadtree subdivisionand its triangulation forms the fundamental basis on whichmost of the surveyed triangulation approaches are built.

3.2 Quadtree Surface Maps

In [SS92], the restricted quadtree technique is applied to 2.5-dimensional surface data consisting of points on a regular 2D-grid and each having a

height

value associated with it. This isthe common representation of grid-digital terrain elevationmodels. In addition to the basic method as presented in

[VHB87], in [SS92] two efficient construction algorithms togenerate and triangulate a restricted quadtree from a set ofpoints on a regular grid are provided. One method is performedbottom-up and the other top-down to generate the restrictedquadtree hierarchy. Furthermore, in [SS92] it is also observedthat edges shared by two quadtree nodes on the same hierarchylevel do not have to be split to guarantee a matching triangula-tion as shown in Figure 5 in comparison to Figure 4.

FIGURE 5.

Improved matching triangulation of a restrictedquadtree subdivision as in [SS92].

In the

bottom-up

construction method, the (square) inputgrid is partitioned into atomic nodes of 3x3 elevation pointsas shown in Figure 6. These nodes form the leaf nodes of acomplete and balanced quadtree over the entire input grid.

FIGURE 6.

Atomic leaf-node for bottom-up construction ofrestricted quadtree.

The main phase of this method then consists of coalesc-ing all mergible nodes bottom-up to create the restrictedquadtree. Nodes must pass two main criteria before they canbe merged:

1.

Error measure

: The approximation error introducedby removing the edge mid-point vertices of the nodesbeing merged must be within the tolerance of a givenerror threshold.

2.

Quadtree constraints

: The size of the node is equal tothe size of its three siblings in the quadtree hierarchy,and neither the node nor its siblings have anysmaller-sized neighbors.

The approximation error of Criterion 1 used in [SS92] isfurther discussed in Section 5. The algorithm terminates ifno more merges can be performed, and it has a linear spaceand time cost O(

n

) in the size

n

of the input data set.

The second algorithm presented in [SS92] is a

top-down

construction of the restricted quadtree hierarchy. Thismethod starts with representing the entire data set simplifiedby one root node and splits nodes recursively, never mergesany, as necessary to approximate the data set. The methodmaintains at all time the restricted quadtree property thatadjacent leaf nodes do not differ by more than one level inthe hierarchy.

Fig. 8 Atomic leaf-node for bottom-up construction of restrictedquadtree.

The main phase of this method then consists of coa-lescing all mergible nodes bottom-up to create the restrictedquadtree. Nodes must pass two main criteria before they canbe merged:

1. Error measure: The approximation error introduced byremoving the edge mid-point vertices of the nodes be-ing merged must be within the tolerance of a given errorthreshold.

2. Quadtree constraints: The size of the node is equal to thesize of its three siblings in the quadtree hierarchy, andneither the node nor its siblings have any smaller-sizedneighbors

The approximation error of Criterion 1 used in [58] isfurther discussed in Section 6. The algorithm terminates ifno more merges can be performed, and it has a linear spaceand time costO(n) in the sizen of the input data set.

The second algorithm presented in [58] is atop-downconstruction of the restricted quadtree hierarchy. Thismethod starts with representing the entire data set simplified

by one root node and splits nodes recursively, never mergesany, as necessary to approximate the data set. The methodmaintains at all time the restricted quadtree property thatadjacent leaf nodes do not differ by more than one level inthe hierarchy.

Vertices that can conceptually be removed by mergingfour sibling nodes are callednon-persistent. Starting withthe root node as shown in Figure 9-a, for each node of thepartially constructed restricted quadtree the non-persistentvertices are identified in the input data set and their errormetric compared to the given approximation threshold. Ifany non-persistent vertex is not within the tolerated thresh-old it is added to the current quadtree. However, insertionof vertices can lead to complex updates of the quadtree asoutlined below.

4

Vertices that can conceptually be removed by mergingfour sibling nodes are called

non-persistent

. Starting withthe root node as shown in Figure 7-a, for each node of thepartially constructed restricted quadtree the non-persistentvertices are identified in the input data set and their errormetric compared to the given approximation threshold. Ifany non-persistent vertex is not within the tolerated thresh-old it is added to the current quadtree. However, insertion ofvertices can lead to complex updates of the quadtree as out-lined below.

FIGURE 7.

Vertices of the root node (level 0) shown in a),as well as the non-persistent vertices of level 1 in b) andlevel 2 in c).

To permanently maintain a restricted quadtree, the inser-tion of a vertex can lead to propagated splits in the parentand adjacent quadtree nodes. As shown in Figure 8, it mayhappen that a node on level

l

is not split because no verticesof level

l

+1 are inserted, however,

a vertex

v

2

on level

l

+2has to be added. This insertion cannot be performed directlysince no parent node covering

v

2

has been created yet onlevel

l

+1. First the parent node of

v

2

and its siblings on level

l

+1 have to be inserted by splitting the smallest node onlevel

l

enclosing

v

2

into four nodes. Such propagated splitscan occur over multiple levels.

FIGURE 8.

Starting triangulation of a node on level

l

isshown in a). No vertices are initially selected on level

l

+1.The selection of a vertex on level

l

+2 leads to forced splitsand added vertices on previous levels as shown in b).

Not fully covered in [SS92] is the situation where splitsdo not only have to be propagated vertically up in the hierar-chy but also horizontally to other adjacent nodes as shownin Figure 9. To resolve such conflicts, all adjacent nodes ofany quadtree node that is split have to be visited and updatedaccordingly. This split propagation to spatially adjacentnodes can in the worst case affect all nodes of the currentquadtree, however, in the expected case will only influencequadtree nodes within a limited neighborhood.

FIGURE 9.

Initial triangulation of level

l

shown in a).Addition of vertex

v

2

on level

l

+2 can lead to inconsistenciesnot only within the parent nodes of

v

2

as shown in b).

The proposed top-down algorithm to create an adaptivesurface mesh processes the entire data set and thus its cost isO(

n

), linear in the size

n

of the input. While the number ofgenerated quadtree nodes is indeed output sensitive, theoverall run-time is still directly proportional to the inputdata set since all vertices have to be visited. However, incontrast to the bottom-up algorithm, this top-down methodcorrectly calculates the approximation error at each vertexas discussed in Section 5.

Both methods presented in [SS92] operate on a hierar-chical quadtree data structure that must provide functional-ity for inserting vertices, calculating distance of a vertex to apiece-wise linear surface approximation, neighbor finding,and for merging and splitting nodes. Furthermore, therestricted quadtree nodes must be post-processed to generatethe resulting matching triangulation. The presented algo-rithms are capable of creating adaptive and continuous LODtriangulations within the limits of the error metric. However,efficiency is not optimized for real-time rendering of verylarge terrain data sets due to the input sensitiveness of thebasic triangulation algorithms.

3.3 Continuous LOD Quadtree

A different approach to generate and triangulate a restrictedquadtree is presented in [LKR+96] based on the notion of

triangle fusion

. Starting with a triangulation of the entiregrid-digital terrain data set the triangle mesh is simplifiedbottom-up by consecutive merging of symmetric trianglepairs. The full resolution grid triangulation as shown inFigure 10-a is equivalent to the atomic leaf nodes of the bot-tom-up triangulation method in [SS92]. Triangle merging isperformed in two phases as shown in Figure 10-b and c.First, in an atomic node pairs of isosceles triangles (i.e.

a

l

and

a

r

in Figure 10-b) sharing a short edge are coalescedand the mid-point on the boundary edge of the quad isremoved. In the second phase the center vertex of a quadregion is removed by merging isosceles triangle pairs alongthe diagonal (i.e.

e

l

and

e

r

in Figure 10-c). However, to pre-vent cracks from occurring due to triangle merging, alwaystwo pairs of isosceles triangles that all share the sameremoved

base vertex

must be coalesced at the same time(i.e. both pairs

e

l

,

e

r

and

f

l

,

f

r

in Figure 10-c).

c)a) b)

a) b)

selected vertices on level lnot selected vertices on level l + 1not selected vertices on level l + 2

selected vertex v2 on level l + 2added vertices on level l + 1added vertices on level l

selected vertices on level lselected vertex v2 on level l + 2

added vertices on level l + 1added vertices on level l

a) b)

4

Vertices that can conceptually be removed by mergingfour sibling nodes are called

non-persistent

. Starting withthe root node as shown in Figure 7-a, for each node of thepartially constructed restricted quadtree the non-persistentvertices are identified in the input data set and their errormetric compared to the given approximation threshold. Ifany non-persistent vertex is not within the tolerated thresh-old it is added to the current quadtree. However, insertion ofvertices can lead to complex updates of the quadtree as out-lined below.

FIGURE 7.

Vertices of the root node (level 0) shown in a),as well as the non-persistent vertices of level 1 in b) andlevel 2 in c).

To permanently maintain a restricted quadtree, the inser-tion of a vertex can lead to propagated splits in the parentand adjacent quadtree nodes. As shown in Figure 8, it mayhappen that a node on level

l

is not split because no verticesof level

l

+1 are inserted, however,

a vertex

v

2

on level

l

+2has to be added. This insertion cannot be performed directlysince no parent node covering

v

2

has been created yet onlevel

l

+1. First the parent node of

v

2

and its siblings on level

l

+1 have to be inserted by splitting the smallest node onlevel

l

enclosing

v

2

into four nodes. Such propagated splitscan occur over multiple levels.

FIGURE 8.

Starting triangulation of a node on level

l

isshown in a). No vertices are initially selected on level

l

+1.The selection of a vertex on level

l

+2 leads to forced splitsand added vertices on previous levels as shown in b).

Not fully covered in [SS92] is the situation where splitsdo not only have to be propagated vertically up in the hierar-chy but also horizontally to other adjacent nodes as shownin Figure 9. To resolve such conflicts, all adjacent nodes ofany quadtree node that is split have to be visited and updatedaccordingly. This split propagation to spatially adjacentnodes can in the worst case affect all nodes of the currentquadtree, however, in the expected case will only influencequadtree nodes within a limited neighborhood.

FIGURE 9.

Initial triangulation of level

l

shown in a).Addition of vertex

v

2

on level

l

+2 can lead to inconsistenciesnot only within the parent nodes of

v

2

as shown in b).

The proposed top-down algorithm to create an adaptivesurface mesh processes the entire data set and thus its cost isO(

n

), linear in the size

n

of the input. While the number ofgenerated quadtree nodes is indeed output sensitive, theoverall run-time is still directly proportional to the inputdata set since all vertices have to be visited. However, incontrast to the bottom-up algorithm, this top-down methodcorrectly calculates the approximation error at each vertexas discussed in Section 5.

Both methods presented in [SS92] operate on a hierar-chical quadtree data structure that must provide functional-ity for inserting vertices, calculating distance of a vertex to apiece-wise linear surface approximation, neighbor finding,and for merging and splitting nodes. Furthermore, therestricted quadtree nodes must be post-processed to generatethe resulting matching triangulation. The presented algo-rithms are capable of creating adaptive and continuous LODtriangulations within the limits of the error metric. However,efficiency is not optimized for real-time rendering of verylarge terrain data sets due to the input sensitiveness of thebasic triangulation algorithms.

3.3 Continuous LOD Quadtree

A different approach to generate and triangulate a restrictedquadtree is presented in [LKR+96] based on the notion of

triangle fusion

. Starting with a triangulation of the entiregrid-digital terrain data set the triangle mesh is simplifiedbottom-up by consecutive merging of symmetric trianglepairs. The full resolution grid triangulation as shown inFigure 10-a is equivalent to the atomic leaf nodes of the bot-tom-up triangulation method in [SS92]. Triangle merging isperformed in two phases as shown in Figure 10-b and c.First, in an atomic node pairs of isosceles triangles (i.e.

a

l

and

a

r

in Figure 10-b) sharing a short edge are coalescedand the mid-point on the boundary edge of the quad isremoved. In the second phase the center vertex of a quadregion is removed by merging isosceles triangle pairs alongthe diagonal (i.e.

e

l

and

e

r

in Figure 10-c). However, to pre-vent cracks from occurring due to triangle merging, alwaystwo pairs of isosceles triangles that all share the sameremoved

base vertex

must be coalesced at the same time(i.e. both pairs

e

l

,

e

r

and

f

l

,

f

r

in Figure 10-c).

c)a) b)

a) b)

selected vertices on level lnot selected vertices on level l + 1not selected vertices on level l + 2

selected vertex v2 on level l + 2added vertices on level l + 1added vertices on level l

selected vertices on level lselected vertex v2 on level l + 2

added vertices on level l + 1added vertices on level l

a) b)

4

Vertices that can conceptually be removed by mergingfour sibling nodes are called

non-persistent

. Starting withthe root node as shown in Figure 7-a, for each node of thepartially constructed restricted quadtree the non-persistentvertices are identified in the input data set and their errormetric compared to the given approximation threshold. Ifany non-persistent vertex is not within the tolerated thresh-old it is added to the current quadtree. However, insertion ofvertices can lead to complex updates of the quadtree as out-lined below.

FIGURE 7.

Vertices of the root node (level 0) shown in a),as well as the non-persistent vertices of level 1 in b) andlevel 2 in c).

To permanently maintain a restricted quadtree, the inser-tion of a vertex can lead to propagated splits in the parentand adjacent quadtree nodes. As shown in Figure 8, it mayhappen that a node on level

l

is not split because no verticesof level

l

+1 are inserted, however,

a vertex

v

2

on level

l

+2has to be added. This insertion cannot be performed directlysince no parent node covering

v

2

has been created yet onlevel

l

+1. First the parent node of

v

2

and its siblings on level

l

+1 have to be inserted by splitting the smallest node onlevel

l

enclosing

v

2

into four nodes. Such propagated splitscan occur over multiple levels.

FIGURE 8.

Starting triangulation of a node on level

l

isshown in a). No vertices are initially selected on level

l

+1.The selection of a vertex on level

l

+2 leads to forced splitsand added vertices on previous levels as shown in b).

Not fully covered in [SS92] is the situation where splitsdo not only have to be propagated vertically up in the hierar-chy but also horizontally to other adjacent nodes as shownin Figure 9. To resolve such conflicts, all adjacent nodes ofany quadtree node that is split have to be visited and updatedaccordingly. This split propagation to spatially adjacentnodes can in the worst case affect all nodes of the currentquadtree, however, in the expected case will only influencequadtree nodes within a limited neighborhood.

FIGURE 9.

Initial triangulation of level

l

shown in a).Addition of vertex

v

2

on level

l

+2 can lead to inconsistenciesnot only within the parent nodes of

v

2

as shown in b).

The proposed top-down algorithm to create an adaptivesurface mesh processes the entire data set and thus its cost isO(

n

), linear in the size

n

of the input. While the number ofgenerated quadtree nodes is indeed output sensitive, theoverall run-time is still directly proportional to the inputdata set since all vertices have to be visited. However, incontrast to the bottom-up algorithm, this top-down methodcorrectly calculates the approximation error at each vertexas discussed in Section 5.

Both methods presented in [SS92] operate on a hierar-chical quadtree data structure that must provide functional-ity for inserting vertices, calculating distance of a vertex to apiece-wise linear surface approximation, neighbor finding,and for merging and splitting nodes. Furthermore, therestricted quadtree nodes must be post-processed to generatethe resulting matching triangulation. The presented algo-rithms are capable of creating adaptive and continuous LODtriangulations within the limits of the error metric. However,efficiency is not optimized for real-time rendering of verylarge terrain data sets due to the input sensitiveness of thebasic triangulation algorithms.

3.3 Continuous LOD Quadtree

A different approach to generate and triangulate a restrictedquadtree is presented in [LKR+96] based on the notion of

triangle fusion

. Starting with a triangulation of the entiregrid-digital terrain data set the triangle mesh is simplifiedbottom-up by consecutive merging of symmetric trianglepairs. The full resolution grid triangulation as shown inFigure 10-a is equivalent to the atomic leaf nodes of the bot-tom-up triangulation method in [SS92]. Triangle merging isperformed in two phases as shown in Figure 10-b and c.First, in an atomic node pairs of isosceles triangles (i.e.

a

l

and

a

r

in Figure 10-b) sharing a short edge are coalescedand the mid-point on the boundary edge of the quad isremoved. In the second phase the center vertex of a quadregion is removed by merging isosceles triangle pairs alongthe diagonal (i.e.

e

l

and

e

r

in Figure 10-c). However, to pre-vent cracks from occurring due to triangle merging, alwaystwo pairs of isosceles triangles that all share the sameremoved

base vertex

must be coalesced at the same time(i.e. both pairs

e

l

,

e

r

and

f

l

,

f

r

in Figure 10-c).

c)a) b)

a) b)

selected vertices on level lnot selected vertices on level l + 1not selected vertices on level l + 2

selected vertex v2 on level l + 2added vertices on level l + 1added vertices on level l

selected vertices on level lselected vertex v2 on level l + 2

added vertices on level l + 1added vertices on level l

a) b)

a) b) c)

Fig. 9 Vertices of the root node (level 0) shown in a), as well as thenon-persistent vertices of level 1 in b) and level 2 in c).

To permanently maintain a restricted quadtree, the inser-tion of a vertex can lead to propagated splits in the parentand adjacent quadtree nodes. As shown in Figure 10, it mayhappen that a node on levell is not split because no ver-tices of levell +1 are inserted, however, a vertexv2 on levell + 2 has to be added. This insertion cannot be performeddirectly since no parent node coveringv2 has been createdyet on levell +1. First the parent node ofv2 and its siblingson level l + 1 have to be inserted by splitting the smallestnode on levell enclosingv2 into four nodes. Such propa-gated splits can occur over multiple levels.

For further details, in particular of the top-down algo-rithm algorithm we refer to the detailed description of sur-face maps from restricted quadtrees in [57].

4

Vertices that can conceptually be removed by mergingfour sibling nodes are called

non-persistent

. Starting withthe root node as shown in Figure 7-a, for each node of thepartially constructed restricted quadtree the non-persistentvertices are identified in the input data set and their errormetric compared to the given approximation threshold. Ifany non-persistent vertex is not within the tolerated thresh-old it is added to the current quadtree. However, insertion ofvertices can lead to complex updates of the quadtree as out-lined below.

FIGURE 7.

Vertices of the root node (level 0) shown in a),as well as the non-persistent vertices of level 1 in b) andlevel 2 in c).

To permanently maintain a restricted quadtree, the inser-tion of a vertex can lead to propagated splits in the parentand adjacent quadtree nodes. As shown in Figure 8, it mayhappen that a node on level

l

is not split because no verticesof level

l

+1 are inserted, however,

a vertex

v

2

on level

l

+2has to be added. This insertion cannot be performed directlysince no parent node covering

v

2

has been created yet onlevel

l

+1. First the parent node of

v

2

and its siblings on level

l

+1 have to be inserted by splitting the smallest node onlevel

l

enclosing

v

2

into four nodes. Such propagated splitscan occur over multiple levels.

FIGURE 8.

Starting triangulation of a node on level

l

isshown in a). No vertices are initially selected on level

l

+1.The selection of a vertex on level

l

+2 leads to forced splitsand added vertices on previous levels as shown in b).

Not fully covered in [SS92] is the situation where splitsdo not only have to be propagated vertically up in the hierar-chy but also horizontally to other adjacent nodes as shownin Figure 9. To resolve such conflicts, all adjacent nodes ofany quadtree node that is split have to be visited and updatedaccordingly. This split propagation to spatially adjacentnodes can in the worst case affect all nodes of the currentquadtree, however, in the expected case will only influencequadtree nodes within a limited neighborhood.

FIGURE 9.

Initial triangulation of level

l

shown in a).Addition of vertex

v

2

on level

l

+2 can lead to inconsistenciesnot only within the parent nodes of

v

2

as shown in b).

The proposed top-down algorithm to create an adaptivesurface mesh processes the entire data set and thus its cost isO(

n

), linear in the size

n

of the input. While the number ofgenerated quadtree nodes is indeed output sensitive, theoverall run-time is still directly proportional to the inputdata set since all vertices have to be visited. However, incontrast to the bottom-up algorithm, this top-down methodcorrectly calculates the approximation error at each vertexas discussed in Section 5.

Both methods presented in [SS92] operate on a hierar-chical quadtree data structure that must provide functional-ity for inserting vertices, calculating distance of a vertex to apiece-wise linear surface approximation, neighbor finding,and for merging and splitting nodes. Furthermore, therestricted quadtree nodes must be post-processed to generatethe resulting matching triangulation. The presented algo-rithms are capable of creating adaptive and continuous LODtriangulations within the limits of the error metric. However,efficiency is not optimized for real-time rendering of verylarge terrain data sets due to the input sensitiveness of thebasic triangulation algorithms.

3.3 Continuous LOD Quadtree

A different approach to generate and triangulate a restrictedquadtree is presented in [LKR+96] based on the notion of

triangle fusion

. Starting with a triangulation of the entiregrid-digital terrain data set the triangle mesh is simplifiedbottom-up by consecutive merging of symmetric trianglepairs. The full resolution grid triangulation as shown inFigure 10-a is equivalent to the atomic leaf nodes of the bot-tom-up triangulation method in [SS92]. Triangle merging isperformed in two phases as shown in Figure 10-b and c.First, in an atomic node pairs of isosceles triangles (i.e.

a

l

and

a

r

in Figure 10-b) sharing a short edge are coalescedand the mid-point on the boundary edge of the quad isremoved. In the second phase the center vertex of a quadregion is removed by merging isosceles triangle pairs alongthe diagonal (i.e.

e

l

and

e

r

in Figure 10-c). However, to pre-vent cracks from occurring due to triangle merging, alwaystwo pairs of isosceles triangles that all share the sameremoved

base vertex

must be coalesced at the same time(i.e. both pairs

e

l

,

e

r

and

f

l

,

f

r

in Figure 10-c).

c)a) b)

a) b)

selected vertices on level lnot selected vertices on level l + 1not selected vertices on level l + 2

selected vertex v2 on level l + 2added vertices on level l + 1added vertices on level l

selected vertices on level lselected vertex v2 on level l + 2

added vertices on level l + 1added vertices on level l

a) b)

a) b)

Fig. 10 Starting triangulation of a node on levell is shown in a). Novertices are initially selected on levell +1. The selection of a vertex onlevel l +2 leads to forced splits and added vertices on previous levelsas shown in b).

Page 6: 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti …00000000-2d84-4b92-0000-0000445d2ab2/... · Survey on Semi-Regular Multiresolution Models for Interactive ... Survey on semi-regular

6 Renato Pajarola, Enrico Gobbetti

The proposed top-down algorithm to create an adaptivesurface mesh processes the entire data set and thus its costis O(n), linear in the sizen of the input. While the num-ber of generated quadtree nodes is indeed output sensitive,the overall run-time is still directly proportional to the in-put data set since all vertices have to be visited. However, incontrast to the bottom-up algorithm, this top-down methodcorrectly calculates the approximation error at each vertexas discussed in Section 6.

Both methods presented in [58,57] operate on a hierar-chical quadtree data structure that must provide functional-ity for inserting vertices, calculating distance of a vertex toa piece-wise linear surface approximation, neighbor finding,and for merging and splitting nodes. Furthermore, the re-stricted quadtree nodes must be post-processed to generatethe resulting conforming triangulation. The presented algo-rithms are capable of creating adaptive and continuous LODtriangulations within the limits of the error metric. However,efficiency is not optimized for real-time rendering of verylarge terrain data sets due to the input sensitiveness of thebasic triangulation algorithms.

Continuous LOD Quadtree.A different approach to gener-ate and triangulate a restricted quadtree is presented in [34]based on the notion oftriangle fusion. Starting with a tri-angulation of the entire grid-digital terrain data set the tri-angle mesh is simplified bottom-up by consecutive mergingof symmetric triangle pairs. The full resolution grid triangu-lation as shown in Figure 11-a is equivalent to the atomicleaf nodes of the bottom-up triangulation method in [58].Triangle merging is performed in two phases as shown inFigure 11-b and c. First, in an atomic node pairs of isoscelestriangles (i.e.al andar in Figure 11-b) sharing a short edgeare coalesced and the mid-point on the boundary edge of thequad is removed. In the second phase the center vertex of aquad region is removed by merging isosceles triangle pairsalong the diagonal (i.e.el ander in Figure 11-c). However,to prevent cracks from occurring due to triangle merging, al-ways two pairs of isosceles triangles that all share the sameremoved base vertex must be coalesced at the same time (i.e.both pairsel , er and fl , fr in Figure 11-c).

5

FIGURE 10.

Full resolution triangulation shown in a).Merging of triangle pairs along the bottom boundary edgeshown in b) and along the diagonal in c).

One of the main contributions of [LKR+96] is the intro-duction of vertex dependencies that can be used to preventcracks and create matching triangulations at variable LOD.For example, considering Figures 10-b and 10-c it is clearthat the midpoint of the bottom edge on level

l

, the base ver-tex of triangles

a

l

and

a

r

, cannot be part of a matching trian-gulation if the center vertex of the quad region, the basevertex of

e

l

,

e

r

, is missing. Or from the opposite viewpoint,the base vertex of triangles

e

l

,

e

r

and

f

l

,

f

r

cannot be removedif any of the base vertices of triangle pairs

a

l

,

a

r

,

b

l,br, cl,cror dl,dr persists. These constraints of a matching restrictedquadtree triangulation define a binary, hierarchical depen-dency relation between vertices as shown in Figure 11. Eachvertex to be included in a triangulation depends on two othervertices (on the same or lower resolution level) to beincluded first. Therefore, a triangulation of a (restricted)quadtree is a matching triangulation only if no such depen-dency relation is violated. The triangulation method pro-posed in [LKR+96] recursively resolves the dependencyrelations of a set S of selected vertices (i.e. all verticesexceeding a given error tolerance) as follows: For each ver-tex , all its dependent parents according to the depen-dency rules shown in Figure 11 are recursively activatedand included in the triangulation as well.

FIGURE 11. Dependency relation of a restricted quadtreetriangulation. The center vertex in a) depends on theinclusion of two corners of its quad region. The boundaryedge midpoints in b) depend on the center vertex of thequad region. Dependencies within and between the nextresolution levels are shown in c) and d).

Another important feature presented in [LKR+96] is theconstruction of triangle strips for fast rendering. In fact, atriangulation of a restricted quadtree can be represented byone single generalized triangle strip.1 The triangle stripgeneration method described in [LKR+96] is based on arecursive pre-order traversal of the triangular quadrants ofquadtree blocks. Starting with a counterclockwise orderingof triangular quadrants of the root node as shown in

Figure 12-a, each quadrant is recursively traversed and thetraversal is stopped when a triangle is not further subdi-vided. In alternating order, children of triangular quadrantsare visited left-first as for quadrant q0 (and in Figure 12-c),or right-first as for the triangles in the next level shown inFigure 12-b. Based on this traversal, vertices can be orderedand outputted to form a generalized triangle strip for effi-cient rendering (see [LKR+96] for code details).

FIGURE 12. Recursive quadtree traversal for triangle stripgeneration. Initial order of triangular quadrants shown in a)with left-first traversal for odd subdivisions shown in b), andright-first traversal of even subdivision steps shown in c).

Despite the fact that an entire triangulated restrictedquadtree can be represented by one triangle strip, trianglestrips are formed for individual blocks only in [LKR+96].For each frame a block-based view-dependent image-spaceerror metric is used (see Section 5) to form a (non-restricted) quadtree subdivision S of the terrain. For eachblock of this subdivision, a vertex-based error metricis applied to achieve a fine-grain selection of vertices to beincluded in the triangulation. Furthermore, the vertex depen-dencies are resolved at this stage to guarantee a matchingtriangulation. Finally, for each quadtree block a trian-gle strip is generated and used for rendering.

The triangulation method presented in [LKR+96] is veryefficient in terms of rendering performance. The triangula-tion algorithm is output sensitive since the quadtree subdivi-sion is performed top-down and does not need to examineall vertices on the highest resolution. Furthermore, efficientrendering primitives in form of triangle strips are generatedfor optimized rendering. Despite the fact that the view-dependent error metric does not provide a guaranteed errorbound, it is very efficient in practice and provides good ter-rain simplification while maintaining plausible visualresults.

3.4 Restricted Quadtree TriangulationThe Restricted Quadtree Triangulation (RQT) approachpresented in [Paj98a, Paj98b] is focused on large scale real-time terrain visualization. The triangulation method is basedon a quadtree hierarchy as in [SS92] and exploits the depen-dency relation presented in [LKR+96] to generate minimallymatching quadtree triangulations. Both, top-down and bottom-up triangulation algorithms are given for a terrain height-fieldmaintained in a region quadtree, and where each vertex has a anapproximation error associated with it. It is observed that thequadtree hierarchy can be defined implicitly on an array of theregular grid input data set by appropriate point indexing andrecursive functions, and no hierarchical data structure actually

1. generalized triangle strips allow swap operations.

a)

al ar

bl

br

clcr

dl

dr

el

er

fl

fr

b) c)

v S!

level l+1level l level l level l+1

a) b) c) d)

0 1

2

3

45

6

7q1

q0

q3

q2

b)a) c)

01 2

34

5

67

891012

11

1314

15

b S!

b S!

5

FIGURE 10.

Full resolution triangulation shown in a).Merging of triangle pairs along the bottom boundary edgeshown in b) and along the diagonal in c).

One of the main contributions of [LKR+96] is the intro-duction of vertex dependencies that can be used to preventcracks and create matching triangulations at variable LOD.For example, considering Figures 10-b and 10-c it is clearthat the midpoint of the bottom edge on level

l

, the base ver-tex of triangles

a

l

and

a

r

, cannot be part of a matching trian-gulation if the center vertex of the quad region, the basevertex of

e

l

,

e

r

, is missing. Or from the opposite viewpoint,the base vertex of triangles

e

l

,

e

r

and

f

l

,

f

r

cannot be removedif any of the base vertices of triangle pairs

a

l

,

a

r

,

b

l,br, cl,cror dl,dr persists. These constraints of a matching restrictedquadtree triangulation define a binary, hierarchical depen-dency relation between vertices as shown in Figure 11. Eachvertex to be included in a triangulation depends on two othervertices (on the same or lower resolution level) to beincluded first. Therefore, a triangulation of a (restricted)quadtree is a matching triangulation only if no such depen-dency relation is violated. The triangulation method pro-posed in [LKR+96] recursively resolves the dependencyrelations of a set S of selected vertices (i.e. all verticesexceeding a given error tolerance) as follows: For each ver-tex , all its dependent parents according to the depen-dency rules shown in Figure 11 are recursively activatedand included in the triangulation as well.

FIGURE 11. Dependency relation of a restricted quadtreetriangulation. The center vertex in a) depends on theinclusion of two corners of its quad region. The boundaryedge midpoints in b) depend on the center vertex of thequad region. Dependencies within and between the nextresolution levels are shown in c) and d).

Another important feature presented in [LKR+96] is theconstruction of triangle strips for fast rendering. In fact, atriangulation of a restricted quadtree can be represented byone single generalized triangle strip.1 The triangle stripgeneration method described in [LKR+96] is based on arecursive pre-order traversal of the triangular quadrants ofquadtree blocks. Starting with a counterclockwise orderingof triangular quadrants of the root node as shown in

Figure 12-a, each quadrant is recursively traversed and thetraversal is stopped when a triangle is not further subdi-vided. In alternating order, children of triangular quadrantsare visited left-first as for quadrant q0 (and in Figure 12-c),or right-first as for the triangles in the next level shown inFigure 12-b. Based on this traversal, vertices can be orderedand outputted to form a generalized triangle strip for effi-cient rendering (see [LKR+96] for code details).

FIGURE 12. Recursive quadtree traversal for triangle stripgeneration. Initial order of triangular quadrants shown in a)with left-first traversal for odd subdivisions shown in b), andright-first traversal of even subdivision steps shown in c).

Despite the fact that an entire triangulated restrictedquadtree can be represented by one triangle strip, trianglestrips are formed for individual blocks only in [LKR+96].For each frame a block-based view-dependent image-spaceerror metric is used (see Section 5) to form a (non-restricted) quadtree subdivision S of the terrain. For eachblock of this subdivision, a vertex-based error metricis applied to achieve a fine-grain selection of vertices to beincluded in the triangulation. Furthermore, the vertex depen-dencies are resolved at this stage to guarantee a matchingtriangulation. Finally, for each quadtree block a trian-gle strip is generated and used for rendering.

The triangulation method presented in [LKR+96] is veryefficient in terms of rendering performance. The triangula-tion algorithm is output sensitive since the quadtree subdivi-sion is performed top-down and does not need to examineall vertices on the highest resolution. Furthermore, efficientrendering primitives in form of triangle strips are generatedfor optimized rendering. Despite the fact that the view-dependent error metric does not provide a guaranteed errorbound, it is very efficient in practice and provides good ter-rain simplification while maintaining plausible visualresults.

3.4 Restricted Quadtree TriangulationThe Restricted Quadtree Triangulation (RQT) approachpresented in [Paj98a, Paj98b] is focused on large scale real-time terrain visualization. The triangulation method is basedon a quadtree hierarchy as in [SS92] and exploits the depen-dency relation presented in [LKR+96] to generate minimallymatching quadtree triangulations. Both, top-down and bottom-up triangulation algorithms are given for a terrain height-fieldmaintained in a region quadtree, and where each vertex has a anapproximation error associated with it. It is observed that thequadtree hierarchy can be defined implicitly on an array of theregular grid input data set by appropriate point indexing andrecursive functions, and no hierarchical data structure actually

1. generalized triangle strips allow swap operations.

a)

al ar

bl

br

clcr

dl

dr

el

er

fl

fr

b) c)

v S!

level l+1level l level l level l+1

a) b) c) d)

0 1

2

3

45

6

7q1

q0

q3

q2

b)a) c)

01 2

34

5

67

891012

11

1314

15

b S!

b S!

5

FIGURE 10.

Full resolution triangulation shown in a).Merging of triangle pairs along the bottom boundary edgeshown in b) and along the diagonal in c).

One of the main contributions of [LKR+96] is the intro-duction of vertex dependencies that can be used to preventcracks and create matching triangulations at variable LOD.For example, considering Figures 10-b and 10-c it is clearthat the midpoint of the bottom edge on level

l

, the base ver-tex of triangles

a

l

and

a

r

, cannot be part of a matching trian-gulation if the center vertex of the quad region, the basevertex of

e

l

,

e

r

, is missing. Or from the opposite viewpoint,the base vertex of triangles

e

l

,

e

r

and

f

l

,

f

r

cannot be removedif any of the base vertices of triangle pairs

a

l

,

a

r

,

b

l,br, cl,cror dl,dr persists. These constraints of a matching restrictedquadtree triangulation define a binary, hierarchical depen-dency relation between vertices as shown in Figure 11. Eachvertex to be included in a triangulation depends on two othervertices (on the same or lower resolution level) to beincluded first. Therefore, a triangulation of a (restricted)quadtree is a matching triangulation only if no such depen-dency relation is violated. The triangulation method pro-posed in [LKR+96] recursively resolves the dependencyrelations of a set S of selected vertices (i.e. all verticesexceeding a given error tolerance) as follows: For each ver-tex , all its dependent parents according to the depen-dency rules shown in Figure 11 are recursively activatedand included in the triangulation as well.

FIGURE 11. Dependency relation of a restricted quadtreetriangulation. The center vertex in a) depends on theinclusion of two corners of its quad region. The boundaryedge midpoints in b) depend on the center vertex of thequad region. Dependencies within and between the nextresolution levels are shown in c) and d).

Another important feature presented in [LKR+96] is theconstruction of triangle strips for fast rendering. In fact, atriangulation of a restricted quadtree can be represented byone single generalized triangle strip.1 The triangle stripgeneration method described in [LKR+96] is based on arecursive pre-order traversal of the triangular quadrants ofquadtree blocks. Starting with a counterclockwise orderingof triangular quadrants of the root node as shown in

Figure 12-a, each quadrant is recursively traversed and thetraversal is stopped when a triangle is not further subdi-vided. In alternating order, children of triangular quadrantsare visited left-first as for quadrant q0 (and in Figure 12-c),or right-first as for the triangles in the next level shown inFigure 12-b. Based on this traversal, vertices can be orderedand outputted to form a generalized triangle strip for effi-cient rendering (see [LKR+96] for code details).

FIGURE 12. Recursive quadtree traversal for triangle stripgeneration. Initial order of triangular quadrants shown in a)with left-first traversal for odd subdivisions shown in b), andright-first traversal of even subdivision steps shown in c).

Despite the fact that an entire triangulated restrictedquadtree can be represented by one triangle strip, trianglestrips are formed for individual blocks only in [LKR+96].For each frame a block-based view-dependent image-spaceerror metric is used (see Section 5) to form a (non-restricted) quadtree subdivision S of the terrain. For eachblock of this subdivision, a vertex-based error metricis applied to achieve a fine-grain selection of vertices to beincluded in the triangulation. Furthermore, the vertex depen-dencies are resolved at this stage to guarantee a matchingtriangulation. Finally, for each quadtree block a trian-gle strip is generated and used for rendering.

The triangulation method presented in [LKR+96] is veryefficient in terms of rendering performance. The triangula-tion algorithm is output sensitive since the quadtree subdivi-sion is performed top-down and does not need to examineall vertices on the highest resolution. Furthermore, efficientrendering primitives in form of triangle strips are generatedfor optimized rendering. Despite the fact that the view-dependent error metric does not provide a guaranteed errorbound, it is very efficient in practice and provides good ter-rain simplification while maintaining plausible visualresults.

3.4 Restricted Quadtree TriangulationThe Restricted Quadtree Triangulation (RQT) approachpresented in [Paj98a, Paj98b] is focused on large scale real-time terrain visualization. The triangulation method is basedon a quadtree hierarchy as in [SS92] and exploits the depen-dency relation presented in [LKR+96] to generate minimallymatching quadtree triangulations. Both, top-down and bottom-up triangulation algorithms are given for a terrain height-fieldmaintained in a region quadtree, and where each vertex has a anapproximation error associated with it. It is observed that thequadtree hierarchy can be defined implicitly on an array of theregular grid input data set by appropriate point indexing andrecursive functions, and no hierarchical data structure actually

1. generalized triangle strips allow swap operations.

a)

al ar

bl

br

clcr

dl

dr

el

er

fl

fr

b) c)

v S!

level l+1level l level l level l+1

a) b) c) d)

0 1

2

3

45

6

7q1

q0

q3

q2

b)a) c)

01 2

34

5

67

891012

11

1314

15

b S!

b S!

a) b) c)

Fig. 11 Full resolution triangulation shown in a). Merging of trianglepairs along the bottom boundary edge shown in b) and along the diag-onal in c).

One of the main contributions of [34] is the introductionof vertex dependencies that can be used to prevent cracksand create conforming triangulations at variable LOD. Forexample, considering Figures 11-b and 11-c it is clear that

the midpoint of the bottom edge on levell , the base vertexof trianglesal and ar , cannot be part of a conforming tri-angulation if the center vertex of the quad region, the basevertex ofel , er , is missing. Or from the opposite viewpoint,the base vertex of trianglesel , er and fl , fr cannot be re-moved if any of the base vertices of triangle pairsal ,ar ,bl ,br , cl ,cr or dl ,dr persists. These constraints of a con-forming restricted quadtree triangulation define a binary, hi-erarchical dependency relation between vertices as shownin Figure 12. Each vertex to be included in a triangulationdepends on two other vertices (on the same or lower reso-lution level) to be included first. Therefore, a triangulationof a (restricted) quadtree is a conforming triangulation onlyif no such dependency relation is violated. The triangula-tion method proposed in [34] recursively resolves the de-pendency relations of a setSof selected vertices (i.e. all ver-tices exceeding a given error tolerance) as follows: For eachvertexv ∈ S, all its dependent parents according to the de-pendency rules shown in Figure 12 are recursively activatedand included in the triangulation as well.

5

FIGURE 10.

Full resolution triangulation shown in a).Merging of triangle pairs along the bottom boundary edgeshown in b) and along the diagonal in c).

One of the main contributions of [LKR+96] is the intro-duction of vertex dependencies that can be used to preventcracks and create matching triangulations at variable LOD.For example, considering Figures 10-b and 10-c it is clearthat the midpoint of the bottom edge on level

l

, the base ver-tex of triangles

a

l

and

a

r

, cannot be part of a matching trian-gulation if the center vertex of the quad region, the basevertex of

e

l

,

e

r

, is missing. Or from the opposite viewpoint,the base vertex of triangles

e

l

,

e

r

and

f

l

,

f

r

cannot be removedif any of the base vertices of triangle pairs

a

l

,

a

r

,

b

l,br, cl,cror dl,dr persists. These constraints of a matching restrictedquadtree triangulation define a binary, hierarchical depen-dency relation between vertices as shown in Figure 11. Eachvertex to be included in a triangulation depends on two othervertices (on the same or lower resolution level) to beincluded first. Therefore, a triangulation of a (restricted)quadtree is a matching triangulation only if no such depen-dency relation is violated. The triangulation method pro-posed in [LKR+96] recursively resolves the dependencyrelations of a set S of selected vertices (i.e. all verticesexceeding a given error tolerance) as follows: For each ver-tex , all its dependent parents according to the depen-dency rules shown in Figure 11 are recursively activatedand included in the triangulation as well.

FIGURE 11. Dependency relation of a restricted quadtreetriangulation. The center vertex in a) depends on theinclusion of two corners of its quad region. The boundaryedge midpoints in b) depend on the center vertex of thequad region. Dependencies within and between the nextresolution levels are shown in c) and d).

Another important feature presented in [LKR+96] is theconstruction of triangle strips for fast rendering. In fact, atriangulation of a restricted quadtree can be represented byone single generalized triangle strip.1 The triangle stripgeneration method described in [LKR+96] is based on arecursive pre-order traversal of the triangular quadrants ofquadtree blocks. Starting with a counterclockwise orderingof triangular quadrants of the root node as shown in

Figure 12-a, each quadrant is recursively traversed and thetraversal is stopped when a triangle is not further subdi-vided. In alternating order, children of triangular quadrantsare visited left-first as for quadrant q0 (and in Figure 12-c),or right-first as for the triangles in the next level shown inFigure 12-b. Based on this traversal, vertices can be orderedand outputted to form a generalized triangle strip for effi-cient rendering (see [LKR+96] for code details).

FIGURE 12. Recursive quadtree traversal for triangle stripgeneration. Initial order of triangular quadrants shown in a)with left-first traversal for odd subdivisions shown in b), andright-first traversal of even subdivision steps shown in c).

Despite the fact that an entire triangulated restrictedquadtree can be represented by one triangle strip, trianglestrips are formed for individual blocks only in [LKR+96].For each frame a block-based view-dependent image-spaceerror metric is used (see Section 5) to form a (non-restricted) quadtree subdivision S of the terrain. For eachblock of this subdivision, a vertex-based error metricis applied to achieve a fine-grain selection of vertices to beincluded in the triangulation. Furthermore, the vertex depen-dencies are resolved at this stage to guarantee a matchingtriangulation. Finally, for each quadtree block a trian-gle strip is generated and used for rendering.

The triangulation method presented in [LKR+96] is veryefficient in terms of rendering performance. The triangula-tion algorithm is output sensitive since the quadtree subdivi-sion is performed top-down and does not need to examineall vertices on the highest resolution. Furthermore, efficientrendering primitives in form of triangle strips are generatedfor optimized rendering. Despite the fact that the view-dependent error metric does not provide a guaranteed errorbound, it is very efficient in practice and provides good ter-rain simplification while maintaining plausible visualresults.

3.4 Restricted Quadtree TriangulationThe Restricted Quadtree Triangulation (RQT) approachpresented in [Paj98a, Paj98b] is focused on large scale real-time terrain visualization. The triangulation method is basedon a quadtree hierarchy as in [SS92] and exploits the depen-dency relation presented in [LKR+96] to generate minimallymatching quadtree triangulations. Both, top-down and bottom-up triangulation algorithms are given for a terrain height-fieldmaintained in a region quadtree, and where each vertex has a anapproximation error associated with it. It is observed that thequadtree hierarchy can be defined implicitly on an array of theregular grid input data set by appropriate point indexing andrecursive functions, and no hierarchical data structure actually

1. generalized triangle strips allow swap operations.

a)

al ar

bl

br

clcr

dl

dr

el

er

fl

fr

b) c)

v S!

level l+1level l level l level l+1

a) b) c) d)

0 1

2

3

45

6

7q1

q0

q3

q2

b)a) c)

01 2

34

5

67

891012

11

1314

15

b S!

b S!

5

FIGURE 10.

Full resolution triangulation shown in a).Merging of triangle pairs along the bottom boundary edgeshown in b) and along the diagonal in c).

One of the main contributions of [LKR+96] is the intro-duction of vertex dependencies that can be used to preventcracks and create matching triangulations at variable LOD.For example, considering Figures 10-b and 10-c it is clearthat the midpoint of the bottom edge on level

l

, the base ver-tex of triangles

a

l

and

a

r

, cannot be part of a matching trian-gulation if the center vertex of the quad region, the basevertex of

e

l

,

e

r

, is missing. Or from the opposite viewpoint,the base vertex of triangles

e

l

,

e

r

and

f

l

,

f

r

cannot be removedif any of the base vertices of triangle pairs

a

l

,

a

r

,

b

l,br, cl,cror dl,dr persists. These constraints of a matching restrictedquadtree triangulation define a binary, hierarchical depen-dency relation between vertices as shown in Figure 11. Eachvertex to be included in a triangulation depends on two othervertices (on the same or lower resolution level) to beincluded first. Therefore, a triangulation of a (restricted)quadtree is a matching triangulation only if no such depen-dency relation is violated. The triangulation method pro-posed in [LKR+96] recursively resolves the dependencyrelations of a set S of selected vertices (i.e. all verticesexceeding a given error tolerance) as follows: For each ver-tex , all its dependent parents according to the depen-dency rules shown in Figure 11 are recursively activatedand included in the triangulation as well.

FIGURE 11. Dependency relation of a restricted quadtreetriangulation. The center vertex in a) depends on theinclusion of two corners of its quad region. The boundaryedge midpoints in b) depend on the center vertex of thequad region. Dependencies within and between the nextresolution levels are shown in c) and d).

Another important feature presented in [LKR+96] is theconstruction of triangle strips for fast rendering. In fact, atriangulation of a restricted quadtree can be represented byone single generalized triangle strip.1 The triangle stripgeneration method described in [LKR+96] is based on arecursive pre-order traversal of the triangular quadrants ofquadtree blocks. Starting with a counterclockwise orderingof triangular quadrants of the root node as shown in

Figure 12-a, each quadrant is recursively traversed and thetraversal is stopped when a triangle is not further subdi-vided. In alternating order, children of triangular quadrantsare visited left-first as for quadrant q0 (and in Figure 12-c),or right-first as for the triangles in the next level shown inFigure 12-b. Based on this traversal, vertices can be orderedand outputted to form a generalized triangle strip for effi-cient rendering (see [LKR+96] for code details).

FIGURE 12. Recursive quadtree traversal for triangle stripgeneration. Initial order of triangular quadrants shown in a)with left-first traversal for odd subdivisions shown in b), andright-first traversal of even subdivision steps shown in c).

Despite the fact that an entire triangulated restrictedquadtree can be represented by one triangle strip, trianglestrips are formed for individual blocks only in [LKR+96].For each frame a block-based view-dependent image-spaceerror metric is used (see Section 5) to form a (non-restricted) quadtree subdivision S of the terrain. For eachblock of this subdivision, a vertex-based error metricis applied to achieve a fine-grain selection of vertices to beincluded in the triangulation. Furthermore, the vertex depen-dencies are resolved at this stage to guarantee a matchingtriangulation. Finally, for each quadtree block a trian-gle strip is generated and used for rendering.

The triangulation method presented in [LKR+96] is veryefficient in terms of rendering performance. The triangula-tion algorithm is output sensitive since the quadtree subdivi-sion is performed top-down and does not need to examineall vertices on the highest resolution. Furthermore, efficientrendering primitives in form of triangle strips are generatedfor optimized rendering. Despite the fact that the view-dependent error metric does not provide a guaranteed errorbound, it is very efficient in practice and provides good ter-rain simplification while maintaining plausible visualresults.

3.4 Restricted Quadtree TriangulationThe Restricted Quadtree Triangulation (RQT) approachpresented in [Paj98a, Paj98b] is focused on large scale real-time terrain visualization. The triangulation method is basedon a quadtree hierarchy as in [SS92] and exploits the depen-dency relation presented in [LKR+96] to generate minimallymatching quadtree triangulations. Both, top-down and bottom-up triangulation algorithms are given for a terrain height-fieldmaintained in a region quadtree, and where each vertex has a anapproximation error associated with it. It is observed that thequadtree hierarchy can be defined implicitly on an array of theregular grid input data set by appropriate point indexing andrecursive functions, and no hierarchical data structure actually

1. generalized triangle strips allow swap operations.

a)

al ar

bl

br

clcr

dl

dr

el

er

fl

fr

b) c)

v S!

level l+1level l level l level l+1

a) b) c) d)

0 1

2

3

45

6

7q1

q0

q3

q2

b)a) c)

01 2

34

5

67

891012

11

1314

15

b S!

b S!

5

FIGURE 10.

Full resolution triangulation shown in a).Merging of triangle pairs along the bottom boundary edgeshown in b) and along the diagonal in c).

One of the main contributions of [LKR+96] is the intro-duction of vertex dependencies that can be used to preventcracks and create matching triangulations at variable LOD.For example, considering Figures 10-b and 10-c it is clearthat the midpoint of the bottom edge on level

l

, the base ver-tex of triangles

a

l

and

a

r

, cannot be part of a matching trian-gulation if the center vertex of the quad region, the basevertex of

e

l

,

e

r

, is missing. Or from the opposite viewpoint,the base vertex of triangles

e

l

,

e

r

and

f

l

,

f

r

cannot be removedif any of the base vertices of triangle pairs

a

l

,

a

r

,

b

l,br, cl,cror dl,dr persists. These constraints of a matching restrictedquadtree triangulation define a binary, hierarchical depen-dency relation between vertices as shown in Figure 11. Eachvertex to be included in a triangulation depends on two othervertices (on the same or lower resolution level) to beincluded first. Therefore, a triangulation of a (restricted)quadtree is a matching triangulation only if no such depen-dency relation is violated. The triangulation method pro-posed in [LKR+96] recursively resolves the dependencyrelations of a set S of selected vertices (i.e. all verticesexceeding a given error tolerance) as follows: For each ver-tex , all its dependent parents according to the depen-dency rules shown in Figure 11 are recursively activatedand included in the triangulation as well.

FIGURE 11. Dependency relation of a restricted quadtreetriangulation. The center vertex in a) depends on theinclusion of two corners of its quad region. The boundaryedge midpoints in b) depend on the center vertex of thequad region. Dependencies within and between the nextresolution levels are shown in c) and d).

Another important feature presented in [LKR+96] is theconstruction of triangle strips for fast rendering. In fact, atriangulation of a restricted quadtree can be represented byone single generalized triangle strip.1 The triangle stripgeneration method described in [LKR+96] is based on arecursive pre-order traversal of the triangular quadrants ofquadtree blocks. Starting with a counterclockwise orderingof triangular quadrants of the root node as shown in

Figure 12-a, each quadrant is recursively traversed and thetraversal is stopped when a triangle is not further subdi-vided. In alternating order, children of triangular quadrantsare visited left-first as for quadrant q0 (and in Figure 12-c),or right-first as for the triangles in the next level shown inFigure 12-b. Based on this traversal, vertices can be orderedand outputted to form a generalized triangle strip for effi-cient rendering (see [LKR+96] for code details).

FIGURE 12. Recursive quadtree traversal for triangle stripgeneration. Initial order of triangular quadrants shown in a)with left-first traversal for odd subdivisions shown in b), andright-first traversal of even subdivision steps shown in c).

Despite the fact that an entire triangulated restrictedquadtree can be represented by one triangle strip, trianglestrips are formed for individual blocks only in [LKR+96].For each frame a block-based view-dependent image-spaceerror metric is used (see Section 5) to form a (non-restricted) quadtree subdivision S of the terrain. For eachblock of this subdivision, a vertex-based error metricis applied to achieve a fine-grain selection of vertices to beincluded in the triangulation. Furthermore, the vertex depen-dencies are resolved at this stage to guarantee a matchingtriangulation. Finally, for each quadtree block a trian-gle strip is generated and used for rendering.

The triangulation method presented in [LKR+96] is veryefficient in terms of rendering performance. The triangula-tion algorithm is output sensitive since the quadtree subdivi-sion is performed top-down and does not need to examineall vertices on the highest resolution. Furthermore, efficientrendering primitives in form of triangle strips are generatedfor optimized rendering. Despite the fact that the view-dependent error metric does not provide a guaranteed errorbound, it is very efficient in practice and provides good ter-rain simplification while maintaining plausible visualresults.

3.4 Restricted Quadtree TriangulationThe Restricted Quadtree Triangulation (RQT) approachpresented in [Paj98a, Paj98b] is focused on large scale real-time terrain visualization. The triangulation method is basedon a quadtree hierarchy as in [SS92] and exploits the depen-dency relation presented in [LKR+96] to generate minimallymatching quadtree triangulations. Both, top-down and bottom-up triangulation algorithms are given for a terrain height-fieldmaintained in a region quadtree, and where each vertex has a anapproximation error associated with it. It is observed that thequadtree hierarchy can be defined implicitly on an array of theregular grid input data set by appropriate point indexing andrecursive functions, and no hierarchical data structure actually

1. generalized triangle strips allow swap operations.

a)

al ar

bl

br

clcr

dl

dr

el

er

fl

fr

b) c)

v S!

level l+1level l level l level l+1

a) b) c) d)

0 1

2

3

45

6

7q1

q0

q3

q2

b)a) c)

01 2

34

5

67

891012

11

1314

15

b S!

b S!

5

FIGURE 10.

Full resolution triangulation shown in a).Merging of triangle pairs along the bottom boundary edgeshown in b) and along the diagonal in c).

One of the main contributions of [LKR+96] is the intro-duction of vertex dependencies that can be used to preventcracks and create matching triangulations at variable LOD.For example, considering Figures 10-b and 10-c it is clearthat the midpoint of the bottom edge on level

l

, the base ver-tex of triangles

a

l

and

a

r

, cannot be part of a matching trian-gulation if the center vertex of the quad region, the basevertex of

e

l

,

e

r

, is missing. Or from the opposite viewpoint,the base vertex of triangles

e

l

,

e

r

and

f

l

,

f

r

cannot be removedif any of the base vertices of triangle pairs

a

l

,

a

r

,

b

l,br, cl,cror dl,dr persists. These constraints of a matching restrictedquadtree triangulation define a binary, hierarchical depen-dency relation between vertices as shown in Figure 11. Eachvertex to be included in a triangulation depends on two othervertices (on the same or lower resolution level) to beincluded first. Therefore, a triangulation of a (restricted)quadtree is a matching triangulation only if no such depen-dency relation is violated. The triangulation method pro-posed in [LKR+96] recursively resolves the dependencyrelations of a set S of selected vertices (i.e. all verticesexceeding a given error tolerance) as follows: For each ver-tex , all its dependent parents according to the depen-dency rules shown in Figure 11 are recursively activatedand included in the triangulation as well.

FIGURE 11. Dependency relation of a restricted quadtreetriangulation. The center vertex in a) depends on theinclusion of two corners of its quad region. The boundaryedge midpoints in b) depend on the center vertex of thequad region. Dependencies within and between the nextresolution levels are shown in c) and d).

Another important feature presented in [LKR+96] is theconstruction of triangle strips for fast rendering. In fact, atriangulation of a restricted quadtree can be represented byone single generalized triangle strip.1 The triangle stripgeneration method described in [LKR+96] is based on arecursive pre-order traversal of the triangular quadrants ofquadtree blocks. Starting with a counterclockwise orderingof triangular quadrants of the root node as shown in

Figure 12-a, each quadrant is recursively traversed and thetraversal is stopped when a triangle is not further subdi-vided. In alternating order, children of triangular quadrantsare visited left-first as for quadrant q0 (and in Figure 12-c),or right-first as for the triangles in the next level shown inFigure 12-b. Based on this traversal, vertices can be orderedand outputted to form a generalized triangle strip for effi-cient rendering (see [LKR+96] for code details).

FIGURE 12. Recursive quadtree traversal for triangle stripgeneration. Initial order of triangular quadrants shown in a)with left-first traversal for odd subdivisions shown in b), andright-first traversal of even subdivision steps shown in c).

Despite the fact that an entire triangulated restrictedquadtree can be represented by one triangle strip, trianglestrips are formed for individual blocks only in [LKR+96].For each frame a block-based view-dependent image-spaceerror metric is used (see Section 5) to form a (non-restricted) quadtree subdivision S of the terrain. For eachblock of this subdivision, a vertex-based error metricis applied to achieve a fine-grain selection of vertices to beincluded in the triangulation. Furthermore, the vertex depen-dencies are resolved at this stage to guarantee a matchingtriangulation. Finally, for each quadtree block a trian-gle strip is generated and used for rendering.

The triangulation method presented in [LKR+96] is veryefficient in terms of rendering performance. The triangula-tion algorithm is output sensitive since the quadtree subdivi-sion is performed top-down and does not need to examineall vertices on the highest resolution. Furthermore, efficientrendering primitives in form of triangle strips are generatedfor optimized rendering. Despite the fact that the view-dependent error metric does not provide a guaranteed errorbound, it is very efficient in practice and provides good ter-rain simplification while maintaining plausible visualresults.

3.4 Restricted Quadtree TriangulationThe Restricted Quadtree Triangulation (RQT) approachpresented in [Paj98a, Paj98b] is focused on large scale real-time terrain visualization. The triangulation method is basedon a quadtree hierarchy as in [SS92] and exploits the depen-dency relation presented in [LKR+96] to generate minimallymatching quadtree triangulations. Both, top-down and bottom-up triangulation algorithms are given for a terrain height-fieldmaintained in a region quadtree, and where each vertex has a anapproximation error associated with it. It is observed that thequadtree hierarchy can be defined implicitly on an array of theregular grid input data set by appropriate point indexing andrecursive functions, and no hierarchical data structure actually

1. generalized triangle strips allow swap operations.

a)

al ar

bl

br

clcr

dl

dr

el

er

fl

fr

b) c)

v S!

level l+1level l level l level l+1

a) b) c) d)

0 1

2

3

45

6

7q1

q0

q3

q2

b)a) c)

01 2

34

5

67

891012

11

1314

15

b S!

b S!

a) b) c) d)

Fig. 12 Dependency relation of a restricted quadtree triangulation. Thecenter vertex in a) depends on the inclusion of two corners of its quadregion. The boundary edge midpoints in b) depend on the center vertexof the quad region. Dependencies within and between the next resolu-tion levels are shown in c) and d).

Another important feature presented in [34] is theconstruction of triangle strips, similar to the earlier workin [24], for fast rendering. In fact, a triangulation of arestricted quadtree can be represented by one singlegeneralized triangle strip1. The triangle strip generationmethod described in [34] is based on a recursive pre-ordertraversal of the triangular quadrants of quadtree blocks.Starting with a counterclockwise ordering of triangularquadrants of the root node as shown in Figure 13-a, eachquadrant is recursively traversed and the traversal is stoppedwhen a triangle is not further subdivided. In alternatingorder, children of triangular quadrants are visitedleft-firstas for quadrantq0 (and in Figure 13-c), or em right-first asfor the triangles in the next level shown in Figure 13-b.Based on this traversal, vertices can be ordered and outputto form a generalized triangle strip for efficient rendering(see [34] for code details).

Despite the fact that an entire triangulated restrictedquadtree can be represented by one triangle strip, trianglestrips are formed for individual blocks only in [34]. For eachframe a block-based view-dependent image-space errormetric is used (see Section 5) to form a (non-restricted)

1 generalized triangle strips allow swap operations

Page 7: 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti …00000000-2d84-4b92-0000-0000445d2ab2/... · Survey on Semi-Regular Multiresolution Models for Interactive ... Survey on semi-regular

Survey on semi-regular multiresolution models for interactive terrain rendering 7

5

FIGURE 10.

Full resolution triangulation shown in a).Merging of triangle pairs along the bottom boundary edgeshown in b) and along the diagonal in c).

One of the main contributions of [LKR+96] is the intro-duction of vertex dependencies that can be used to preventcracks and create matching triangulations at variable LOD.For example, considering Figures 10-b and 10-c it is clearthat the midpoint of the bottom edge on level

l

, the base ver-tex of triangles

a

l

and

a

r

, cannot be part of a matching trian-gulation if the center vertex of the quad region, the basevertex of

e

l

,

e

r

, is missing. Or from the opposite viewpoint,the base vertex of triangles

e

l

,

e

r

and

f

l

,

f

r

cannot be removedif any of the base vertices of triangle pairs

a

l

,

a

r

,

b

l,br, cl,cror dl,dr persists. These constraints of a matching restrictedquadtree triangulation define a binary, hierarchical depen-dency relation between vertices as shown in Figure 11. Eachvertex to be included in a triangulation depends on two othervertices (on the same or lower resolution level) to beincluded first. Therefore, a triangulation of a (restricted)quadtree is a matching triangulation only if no such depen-dency relation is violated. The triangulation method pro-posed in [LKR+96] recursively resolves the dependencyrelations of a set S of selected vertices (i.e. all verticesexceeding a given error tolerance) as follows: For each ver-tex , all its dependent parents according to the depen-dency rules shown in Figure 11 are recursively activatedand included in the triangulation as well.

FIGURE 11. Dependency relation of a restricted quadtreetriangulation. The center vertex in a) depends on theinclusion of two corners of its quad region. The boundaryedge midpoints in b) depend on the center vertex of thequad region. Dependencies within and between the nextresolution levels are shown in c) and d).

Another important feature presented in [LKR+96] is theconstruction of triangle strips for fast rendering. In fact, atriangulation of a restricted quadtree can be represented byone single generalized triangle strip.1 The triangle stripgeneration method described in [LKR+96] is based on arecursive pre-order traversal of the triangular quadrants ofquadtree blocks. Starting with a counterclockwise orderingof triangular quadrants of the root node as shown in

Figure 12-a, each quadrant is recursively traversed and thetraversal is stopped when a triangle is not further subdi-vided. In alternating order, children of triangular quadrantsare visited left-first as for quadrant q0 (and in Figure 12-c),or right-first as for the triangles in the next level shown inFigure 12-b. Based on this traversal, vertices can be orderedand outputted to form a generalized triangle strip for effi-cient rendering (see [LKR+96] for code details).

FIGURE 12. Recursive quadtree traversal for triangle stripgeneration. Initial order of triangular quadrants shown in a)with left-first traversal for odd subdivisions shown in b), andright-first traversal of even subdivision steps shown in c).

Despite the fact that an entire triangulated restrictedquadtree can be represented by one triangle strip, trianglestrips are formed for individual blocks only in [LKR+96].For each frame a block-based view-dependent image-spaceerror metric is used (see Section 5) to form a (non-restricted) quadtree subdivision S of the terrain. For eachblock of this subdivision, a vertex-based error metricis applied to achieve a fine-grain selection of vertices to beincluded in the triangulation. Furthermore, the vertex depen-dencies are resolved at this stage to guarantee a matchingtriangulation. Finally, for each quadtree block a trian-gle strip is generated and used for rendering.

The triangulation method presented in [LKR+96] is veryefficient in terms of rendering performance. The triangula-tion algorithm is output sensitive since the quadtree subdivi-sion is performed top-down and does not need to examineall vertices on the highest resolution. Furthermore, efficientrendering primitives in form of triangle strips are generatedfor optimized rendering. Despite the fact that the view-dependent error metric does not provide a guaranteed errorbound, it is very efficient in practice and provides good ter-rain simplification while maintaining plausible visualresults.

3.4 Restricted Quadtree TriangulationThe Restricted Quadtree Triangulation (RQT) approachpresented in [Paj98a, Paj98b] is focused on large scale real-time terrain visualization. The triangulation method is basedon a quadtree hierarchy as in [SS92] and exploits the depen-dency relation presented in [LKR+96] to generate minimallymatching quadtree triangulations. Both, top-down and bottom-up triangulation algorithms are given for a terrain height-fieldmaintained in a region quadtree, and where each vertex has a anapproximation error associated with it. It is observed that thequadtree hierarchy can be defined implicitly on an array of theregular grid input data set by appropriate point indexing andrecursive functions, and no hierarchical data structure actually

1. generalized triangle strips allow swap operations.

a)

al ar

bl

br

clcr

dl

dr

el

er

fl

fr

b) c)

v S!

level l+1level l level l level l+1

a) b) c) d)

0 1

2

3

45

6

7q1

q0

q3

q2

b)a) c)

01 2

34

5

67

891012

11

1314

15

b S!

b S!

5

FIGURE 10.

Full resolution triangulation shown in a).Merging of triangle pairs along the bottom boundary edgeshown in b) and along the diagonal in c).

One of the main contributions of [LKR+96] is the intro-duction of vertex dependencies that can be used to preventcracks and create matching triangulations at variable LOD.For example, considering Figures 10-b and 10-c it is clearthat the midpoint of the bottom edge on level

l

, the base ver-tex of triangles

a

l

and

a

r

, cannot be part of a matching trian-gulation if the center vertex of the quad region, the basevertex of

e

l

,

e

r

, is missing. Or from the opposite viewpoint,the base vertex of triangles

e

l

,

e

r

and

f

l

,

f

r

cannot be removedif any of the base vertices of triangle pairs

a

l

,

a

r

,

b

l,br, cl,cror dl,dr persists. These constraints of a matching restrictedquadtree triangulation define a binary, hierarchical depen-dency relation between vertices as shown in Figure 11. Eachvertex to be included in a triangulation depends on two othervertices (on the same or lower resolution level) to beincluded first. Therefore, a triangulation of a (restricted)quadtree is a matching triangulation only if no such depen-dency relation is violated. The triangulation method pro-posed in [LKR+96] recursively resolves the dependencyrelations of a set S of selected vertices (i.e. all verticesexceeding a given error tolerance) as follows: For each ver-tex , all its dependent parents according to the depen-dency rules shown in Figure 11 are recursively activatedand included in the triangulation as well.

FIGURE 11. Dependency relation of a restricted quadtreetriangulation. The center vertex in a) depends on theinclusion of two corners of its quad region. The boundaryedge midpoints in b) depend on the center vertex of thequad region. Dependencies within and between the nextresolution levels are shown in c) and d).

Another important feature presented in [LKR+96] is theconstruction of triangle strips for fast rendering. In fact, atriangulation of a restricted quadtree can be represented byone single generalized triangle strip.1 The triangle stripgeneration method described in [LKR+96] is based on arecursive pre-order traversal of the triangular quadrants ofquadtree blocks. Starting with a counterclockwise orderingof triangular quadrants of the root node as shown in

Figure 12-a, each quadrant is recursively traversed and thetraversal is stopped when a triangle is not further subdi-vided. In alternating order, children of triangular quadrantsare visited left-first as for quadrant q0 (and in Figure 12-c),or right-first as for the triangles in the next level shown inFigure 12-b. Based on this traversal, vertices can be orderedand outputted to form a generalized triangle strip for effi-cient rendering (see [LKR+96] for code details).

FIGURE 12. Recursive quadtree traversal for triangle stripgeneration. Initial order of triangular quadrants shown in a)with left-first traversal for odd subdivisions shown in b), andright-first traversal of even subdivision steps shown in c).

Despite the fact that an entire triangulated restrictedquadtree can be represented by one triangle strip, trianglestrips are formed for individual blocks only in [LKR+96].For each frame a block-based view-dependent image-spaceerror metric is used (see Section 5) to form a (non-restricted) quadtree subdivision S of the terrain. For eachblock of this subdivision, a vertex-based error metricis applied to achieve a fine-grain selection of vertices to beincluded in the triangulation. Furthermore, the vertex depen-dencies are resolved at this stage to guarantee a matchingtriangulation. Finally, for each quadtree block a trian-gle strip is generated and used for rendering.

The triangulation method presented in [LKR+96] is veryefficient in terms of rendering performance. The triangula-tion algorithm is output sensitive since the quadtree subdivi-sion is performed top-down and does not need to examineall vertices on the highest resolution. Furthermore, efficientrendering primitives in form of triangle strips are generatedfor optimized rendering. Despite the fact that the view-dependent error metric does not provide a guaranteed errorbound, it is very efficient in practice and provides good ter-rain simplification while maintaining plausible visualresults.

3.4 Restricted Quadtree TriangulationThe Restricted Quadtree Triangulation (RQT) approachpresented in [Paj98a, Paj98b] is focused on large scale real-time terrain visualization. The triangulation method is basedon a quadtree hierarchy as in [SS92] and exploits the depen-dency relation presented in [LKR+96] to generate minimallymatching quadtree triangulations. Both, top-down and bottom-up triangulation algorithms are given for a terrain height-fieldmaintained in a region quadtree, and where each vertex has a anapproximation error associated with it. It is observed that thequadtree hierarchy can be defined implicitly on an array of theregular grid input data set by appropriate point indexing andrecursive functions, and no hierarchical data structure actually

1. generalized triangle strips allow swap operations.

a)

al ar

bl

br

clcr

dl

dr

el

er

fl

fr

b) c)

v S!

level l+1level l level l level l+1

a) b) c) d)

0 1

2

3

45

6

7q1

q0

q3

q2

b)a) c)

01 2

34

5

67

891012

11

1314

15

b S!

b S!

5

FIGURE 10.

Full resolution triangulation shown in a).Merging of triangle pairs along the bottom boundary edgeshown in b) and along the diagonal in c).

One of the main contributions of [LKR+96] is the intro-duction of vertex dependencies that can be used to preventcracks and create matching triangulations at variable LOD.For example, considering Figures 10-b and 10-c it is clearthat the midpoint of the bottom edge on level

l

, the base ver-tex of triangles

a

l

and

a

r

, cannot be part of a matching trian-gulation if the center vertex of the quad region, the basevertex of

e

l

,

e

r

, is missing. Or from the opposite viewpoint,the base vertex of triangles

e

l

,

e

r

and

f

l

,

f

r

cannot be removedif any of the base vertices of triangle pairs

a

l

,

a

r

,

b

l,br, cl,cror dl,dr persists. These constraints of a matching restrictedquadtree triangulation define a binary, hierarchical depen-dency relation between vertices as shown in Figure 11. Eachvertex to be included in a triangulation depends on two othervertices (on the same or lower resolution level) to beincluded first. Therefore, a triangulation of a (restricted)quadtree is a matching triangulation only if no such depen-dency relation is violated. The triangulation method pro-posed in [LKR+96] recursively resolves the dependencyrelations of a set S of selected vertices (i.e. all verticesexceeding a given error tolerance) as follows: For each ver-tex , all its dependent parents according to the depen-dency rules shown in Figure 11 are recursively activatedand included in the triangulation as well.

FIGURE 11. Dependency relation of a restricted quadtreetriangulation. The center vertex in a) depends on theinclusion of two corners of its quad region. The boundaryedge midpoints in b) depend on the center vertex of thequad region. Dependencies within and between the nextresolution levels are shown in c) and d).

Another important feature presented in [LKR+96] is theconstruction of triangle strips for fast rendering. In fact, atriangulation of a restricted quadtree can be represented byone single generalized triangle strip.1 The triangle stripgeneration method described in [LKR+96] is based on arecursive pre-order traversal of the triangular quadrants ofquadtree blocks. Starting with a counterclockwise orderingof triangular quadrants of the root node as shown in

Figure 12-a, each quadrant is recursively traversed and thetraversal is stopped when a triangle is not further subdi-vided. In alternating order, children of triangular quadrantsare visited left-first as for quadrant q0 (and in Figure 12-c),or right-first as for the triangles in the next level shown inFigure 12-b. Based on this traversal, vertices can be orderedand outputted to form a generalized triangle strip for effi-cient rendering (see [LKR+96] for code details).

FIGURE 12. Recursive quadtree traversal for triangle stripgeneration. Initial order of triangular quadrants shown in a)with left-first traversal for odd subdivisions shown in b), andright-first traversal of even subdivision steps shown in c).

Despite the fact that an entire triangulated restrictedquadtree can be represented by one triangle strip, trianglestrips are formed for individual blocks only in [LKR+96].For each frame a block-based view-dependent image-spaceerror metric is used (see Section 5) to form a (non-restricted) quadtree subdivision S of the terrain. For eachblock of this subdivision, a vertex-based error metricis applied to achieve a fine-grain selection of vertices to beincluded in the triangulation. Furthermore, the vertex depen-dencies are resolved at this stage to guarantee a matchingtriangulation. Finally, for each quadtree block a trian-gle strip is generated and used for rendering.

The triangulation method presented in [LKR+96] is veryefficient in terms of rendering performance. The triangula-tion algorithm is output sensitive since the quadtree subdivi-sion is performed top-down and does not need to examineall vertices on the highest resolution. Furthermore, efficientrendering primitives in form of triangle strips are generatedfor optimized rendering. Despite the fact that the view-dependent error metric does not provide a guaranteed errorbound, it is very efficient in practice and provides good ter-rain simplification while maintaining plausible visualresults.

3.4 Restricted Quadtree TriangulationThe Restricted Quadtree Triangulation (RQT) approachpresented in [Paj98a, Paj98b] is focused on large scale real-time terrain visualization. The triangulation method is basedon a quadtree hierarchy as in [SS92] and exploits the depen-dency relation presented in [LKR+96] to generate minimallymatching quadtree triangulations. Both, top-down and bottom-up triangulation algorithms are given for a terrain height-fieldmaintained in a region quadtree, and where each vertex has a anapproximation error associated with it. It is observed that thequadtree hierarchy can be defined implicitly on an array of theregular grid input data set by appropriate point indexing andrecursive functions, and no hierarchical data structure actually

1. generalized triangle strips allow swap operations.

a)

al ar

bl

br

clcr

dl

dr

el

er

fl

fr

b) c)

v S!

level l+1level l level l level l+1

a) b) c) d)

0 1

2

3

45

6

7q1

q0

q3

q2

b)a) c)

01 2

34

5

67

891012

11

1314

15

b S!

b S!

a) b) c)

Fig. 13 Recursive quadtree traversal for triangle strip generation. Ini-tial order of triangular quadrants shown in a) withleft-first traversal forodd subdivisions shown in b), andright-first traversal of even subdivi-sion steps shown in c).

quadtree subdivisionS of the terrain. For each blockb ∈ Sof this subdivision, a vertex-based error metric is appliedto achieve a fine-grain selection of vertices to be includedin the triangulation. Furthermore, the vertex dependenciesare resolved at this stage to guarantee a conformingtriangulation. Finally, for each quadtree blockb ∈ S atriangle strip is generated and used for rendering.

The triangulation method presented in [34] is very effi-cient in terms of rendering performance. The triangulationalgorithm is output sensitive since the quadtree subdivisionis performed top-down and does not need to examine all ver-tices on the highest resolution. Furthermore, efficient render-ing primitives in form of triangle strips are generated for op-timized rendering. Despite the fact that the view-dependenterror metric does not provide a guaranteed error bound, it isvery efficient in practice and provides good terrain simplifi-cation while maintaining plausible visual results.

Restricted Quadtree Triangulation.The RestrictedQuadtree Triangulation(RQT) approach presented in [42,43] is focused on large scale real-time terrain visualization.The triangulation method is based on a quadtree hierarchyas in [58,57] and exploits the dependency relation presentedin [34] to generate minimally conforming quadtreetriangulations. Both, top-down and bottom-up triangulationalgorithms are given for a terrain height-field maintainedin a region quadtree, and where each vertex has a anapproximation error associated with it. It is observed thatthe quadtree hierarchy can be defined implicitly on anarray of the regular grid input data set by appropriate pointindexing and recursive functions, and no hierarchical datastructure actually needs to be stored. For such animplicitquadtree, this reduces the storage cost effectively down tothe elevation and approximation error values per vertex.

As shown in [43], for each pointPi, j of the 2k+1×2k+1height-field grid its levell in the implicit quadtree hierarchycan efficiently be determined by arithmetic and logical oper-ations on the integer index valuesi and j, see also Figure 14.Furthermore, it is also observed that the dependency relationof Figure 12 can be expressed by arithmetic expressions asfunctions of the points indexi, j. The implicit definition ofquadtree levels and dependency relations between points byarithmetic functions allows the top-down and bottom-up al-gorithms presented in [42] to run very fast and directly onthe array of the height-field grid data instead of relying on a

hierarchical pointer-based data structure. (See also [56] forefficient operations on quadtrees.)

6

needs to be stored. For such an implicit quadtree, this reducesthe storage cost effectively down to the elevation and approxi-mation error values per vertex.

As shown in [Paj98b], for each point Pi,j of the height-field grid its level l in the implicit

quadtree hierarchy can efficiently be determined by arith-metic and logical operations on the integer index values iand j, see also Figure 13. Furthermore, it is also observedthat the dependency relation of Figure 11 can be expressedby arithmetic expressions as functions of the point’s indexi,j. The implicit definition of quadtree levels and depen-dency relations between points by arithmetic functionsallows the top-down and bottom-up algorithms presented in[Paj98a] to run very fast and directly on the array of theheight-field grid data instead of relying on a hierarchicalpointer-based data structure (i.e. as in [SS92]).

FIGURE 13. Implicit quadtree hierarchy and point indexingdefined on the height-field grid.

An optimal output-sensitive triangulation algorithm ispresented in [Paj98a] that exploits the strict error monotonicityachieved by error saturation (see Section 5). This allows fora simple top-down vertex selection algorithm which doesnot have to resolve any restricted quadtree dependencies orpropagate triangle splits at run-time. The proposed saturatederror metric guarantees that the set of initially selected verti-ces for a given threshold automatically satisfy the restrictedquadtree constraint and hence allow for a crack-free match-ing triangulation.

To improve rendering performance, a triangle strip con-struction algorithm is presented in [Paj98a] that traverses theentire quadtree hierarchy instead of blocks as proposed in[LKR+96]. As shown in Figure 14, the RQT triangle stripthat recursively circles counterclockwise around eachquadtree block’s center vertex is a space filling curve thatvisits all triangles exactly once. It also represents a Hamilto-nian path in the dual graph of the triangulation. This trianglestrip can be generated by a depth-first traversal of thequadtree in linear time, proportional to the size of the gener-ated triangle strip. Moreover, the proposed error saturationtechnique in [Paj98a] and the quadtree based triangle stripgeneration support a highly efficient unified vertex selec-tion, triangle strip generation and rendering algorithm basedon a single depth-first traversal of the implicit height-fieldquadtree.

FIGURE 14. Generalized RQT triangle strip shown in a) andits Hamiltonian path on the dual graph in b).

3.5 4-8 MeshesThe class of 4-8 meshes [BLV01, VG00, Vel01] is based ona quadtree subdivision and triangulation as illustrated inFigure 15, which in its triangulation power is basicallyequivalent to the previously outlined quadtree and trianglebin-tree meshing approaches.

FIGURE 15. Recursive 4-8 triangle mesh subdivision.

However, instead of a vertex dependency graph as in[LKR+96], a merging domain Mv is defined for each vertexv in [BLV01] for the purpose of satisfying the triangulationconstraints that avoid cracks in the surface mesh. As shownin Figure 16, the merging domain Mv is basically the transi-tive hull of all vertices depending on v in the dependencygraph [LKR+96]. Consequently Mv is used to define all verti-ces that must be removed from the triangulation jointly with v.And hence the removal of multiple vertices is constrained bythe joint removal of the union of their merging domains. A sim-ilar concept, the splitting domain, is introduced for insertingvertices into the triangulation.

FIGURE 16. A vertex v and its merging domain Mv arehighlighted in a). The adaptive triangle mesh after removalof v and Mv is shown in b).

The triangulation algorithms presented in [BLV01,BAV98] require O(n log n) time to refine or merge n nodes.This is in contrast to the algorithms presented in [LKR+96]and [Paj98a] which can generate an adaptive mesh of n tri-angles optimally in linear O(n) time.

2k 1+ 2k 1+!

level 2level 0 level 1

P0,0

P0,2k

P2k,0

P2k,2k

P2k-1,0

P2k-1,2k

P0,2k-1P2k-1,2k-1

P2k,2k-1

a) b)

b)

merging domain Mvvertex v to be removed

a)

Fig. 14 Implicit quadtree hierarchy and point indexing defined on theheight-field grid.

An optimal output-sensitive triangulation algorithm ispresented in [42] that exploits the strict error monotonic-ity achieved byerror saturation(see Section 6). This allowsfor a simple top-down vertex selection algorithm which doesnot have to resolve any restricted quadtree dependencies orpropagate triangle splits at run-time. The proposed saturatederror metric guarantees that the set of initially selected ver-tices for a given threshold automatically satisfy the restrictedquadtree constraint and hence allow for a crack-free con-forming triangulation.

To improve rendering performance, a triangle strip con-struction algorithm is presented in [42] that traverses the en-tire quadtree hierarchy instead of blocks as proposed in [34].As shown in Figure 15, the RQT triangle strip that recur-sively circles counterclockwise around each quadtree blockscenter vertex is aspace filling curvethat visits all trianglesexactly once. It also represents aHamiltonian path in thedual graph of the triangulation. This triangle strip can begenerated by a depth-first traversal of the quadtree in lin-ear time, proportional to the size of the generated trianglestrip. Moreover, the proposed error saturation technique in[42] and the quadtree based triangle strip generation supporta highly efficient unified vertex selection, triangle strip gen-eration and rendering algorithm based on a single depth-firsttraversal of the implicit height-field quadtree.

6

needs to be stored. For such an implicit quadtree, this reducesthe storage cost effectively down to the elevation and approxi-mation error values per vertex.

As shown in [Paj98b], for each point Pi,j of the height-field grid its level l in the implicit

quadtree hierarchy can efficiently be determined by arith-metic and logical operations on the integer index values iand j, see also Figure 13. Furthermore, it is also observedthat the dependency relation of Figure 11 can be expressedby arithmetic expressions as functions of the point’s indexi,j. The implicit definition of quadtree levels and depen-dency relations between points by arithmetic functionsallows the top-down and bottom-up algorithms presented in[Paj98a] to run very fast and directly on the array of theheight-field grid data instead of relying on a hierarchicalpointer-based data structure (i.e. as in [SS92]).

FIGURE 13. Implicit quadtree hierarchy and point indexingdefined on the height-field grid.

An optimal output-sensitive triangulation algorithm ispresented in [Paj98a] that exploits the strict error monotonicityachieved by error saturation (see Section 5). This allows fora simple top-down vertex selection algorithm which doesnot have to resolve any restricted quadtree dependencies orpropagate triangle splits at run-time. The proposed saturatederror metric guarantees that the set of initially selected verti-ces for a given threshold automatically satisfy the restrictedquadtree constraint and hence allow for a crack-free match-ing triangulation.

To improve rendering performance, a triangle strip con-struction algorithm is presented in [Paj98a] that traverses theentire quadtree hierarchy instead of blocks as proposed in[LKR+96]. As shown in Figure 14, the RQT triangle stripthat recursively circles counterclockwise around eachquadtree block’s center vertex is a space filling curve thatvisits all triangles exactly once. It also represents a Hamilto-nian path in the dual graph of the triangulation. This trianglestrip can be generated by a depth-first traversal of thequadtree in linear time, proportional to the size of the gener-ated triangle strip. Moreover, the proposed error saturationtechnique in [Paj98a] and the quadtree based triangle stripgeneration support a highly efficient unified vertex selec-tion, triangle strip generation and rendering algorithm basedon a single depth-first traversal of the implicit height-fieldquadtree.

FIGURE 14. Generalized RQT triangle strip shown in a) andits Hamiltonian path on the dual graph in b).

3.5 4-8 MeshesThe class of 4-8 meshes [BLV01, VG00, Vel01] is based ona quadtree subdivision and triangulation as illustrated inFigure 15, which in its triangulation power is basicallyequivalent to the previously outlined quadtree and trianglebin-tree meshing approaches.

FIGURE 15. Recursive 4-8 triangle mesh subdivision.

However, instead of a vertex dependency graph as in[LKR+96], a merging domain Mv is defined for each vertexv in [BLV01] for the purpose of satisfying the triangulationconstraints that avoid cracks in the surface mesh. As shownin Figure 16, the merging domain Mv is basically the transi-tive hull of all vertices depending on v in the dependencygraph [LKR+96]. Consequently Mv is used to define all verti-ces that must be removed from the triangulation jointly with v.And hence the removal of multiple vertices is constrained bythe joint removal of the union of their merging domains. A sim-ilar concept, the splitting domain, is introduced for insertingvertices into the triangulation.

FIGURE 16. A vertex v and its merging domain Mv arehighlighted in a). The adaptive triangle mesh after removalof v and Mv is shown in b).

The triangulation algorithms presented in [BLV01,BAV98] require O(n log n) time to refine or merge n nodes.This is in contrast to the algorithms presented in [LKR+96]and [Paj98a] which can generate an adaptive mesh of n tri-angles optimally in linear O(n) time.

2k 1+ 2k 1+!

level 2level 0 level 1

P0,0

P0,2k

P2k,0

P2k,2k

P2k-1,0

P2k-1,2k

P0,2k-1P2k-1,2k-1

P2k,2k-1

a) b)

b)

merging domain Mvvertex v to be removed

a)

6

needs to be stored. For such an implicit quadtree, this reducesthe storage cost effectively down to the elevation and approxi-mation error values per vertex.

As shown in [Paj98b], for each point Pi,j of the height-field grid its level l in the implicit

quadtree hierarchy can efficiently be determined by arith-metic and logical operations on the integer index values iand j, see also Figure 13. Furthermore, it is also observedthat the dependency relation of Figure 11 can be expressedby arithmetic expressions as functions of the point’s indexi,j. The implicit definition of quadtree levels and depen-dency relations between points by arithmetic functionsallows the top-down and bottom-up algorithms presented in[Paj98a] to run very fast and directly on the array of theheight-field grid data instead of relying on a hierarchicalpointer-based data structure (i.e. as in [SS92]).

FIGURE 13. Implicit quadtree hierarchy and point indexingdefined on the height-field grid.

An optimal output-sensitive triangulation algorithm ispresented in [Paj98a] that exploits the strict error monotonicityachieved by error saturation (see Section 5). This allows fora simple top-down vertex selection algorithm which doesnot have to resolve any restricted quadtree dependencies orpropagate triangle splits at run-time. The proposed saturatederror metric guarantees that the set of initially selected verti-ces for a given threshold automatically satisfy the restrictedquadtree constraint and hence allow for a crack-free match-ing triangulation.

To improve rendering performance, a triangle strip con-struction algorithm is presented in [Paj98a] that traverses theentire quadtree hierarchy instead of blocks as proposed in[LKR+96]. As shown in Figure 14, the RQT triangle stripthat recursively circles counterclockwise around eachquadtree block’s center vertex is a space filling curve thatvisits all triangles exactly once. It also represents a Hamilto-nian path in the dual graph of the triangulation. This trianglestrip can be generated by a depth-first traversal of thequadtree in linear time, proportional to the size of the gener-ated triangle strip. Moreover, the proposed error saturationtechnique in [Paj98a] and the quadtree based triangle stripgeneration support a highly efficient unified vertex selec-tion, triangle strip generation and rendering algorithm basedon a single depth-first traversal of the implicit height-fieldquadtree.

FIGURE 14. Generalized RQT triangle strip shown in a) andits Hamiltonian path on the dual graph in b).

3.5 4-8 MeshesThe class of 4-8 meshes [BLV01, VG00, Vel01] is based ona quadtree subdivision and triangulation as illustrated inFigure 15, which in its triangulation power is basicallyequivalent to the previously outlined quadtree and trianglebin-tree meshing approaches.

FIGURE 15. Recursive 4-8 triangle mesh subdivision.

However, instead of a vertex dependency graph as in[LKR+96], a merging domain Mv is defined for each vertexv in [BLV01] for the purpose of satisfying the triangulationconstraints that avoid cracks in the surface mesh. As shownin Figure 16, the merging domain Mv is basically the transi-tive hull of all vertices depending on v in the dependencygraph [LKR+96]. Consequently Mv is used to define all verti-ces that must be removed from the triangulation jointly with v.And hence the removal of multiple vertices is constrained bythe joint removal of the union of their merging domains. A sim-ilar concept, the splitting domain, is introduced for insertingvertices into the triangulation.

FIGURE 16. A vertex v and its merging domain Mv arehighlighted in a). The adaptive triangle mesh after removalof v and Mv is shown in b).

The triangulation algorithms presented in [BLV01,BAV98] require O(n log n) time to refine or merge n nodes.This is in contrast to the algorithms presented in [LKR+96]and [Paj98a] which can generate an adaptive mesh of n tri-angles optimally in linear O(n) time.

2k 1+ 2k 1+!

level 2level 0 level 1

P0,0

P0,2k

P2k,0

P2k,2k

P2k-1,0

P2k-1,2k

P0,2k-1P2k-1,2k-1

P2k,2k-1

a) b)

b)

merging domain Mvvertex v to be removed

a)

a) b)

Fig. 15 Generalized RQT triangle strip shown in a) and its Hamilto-nian path on the dual graph in b).

4-8 Meshes.The class of4-8 meshes[61,3,60] is basedon a quadtree subdivision and triangulation as illustratedin Figure 16, which in its triangulation power is basically

Page 8: 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti …00000000-2d84-4b92-0000-0000445d2ab2/... · Survey on Semi-Regular Multiresolution Models for Interactive ... Survey on semi-regular

8 Renato Pajarola, Enrico Gobbetti

equivalent to the other outlined quadtree and trianglebin-tree meshing approaches.

6

needs to be stored. For such an implicit quadtree, this reducesthe storage cost effectively down to the elevation and approxi-mation error values per vertex.

As shown in [Paj98b], for each point Pi,j of the height-field grid its level l in the implicit

quadtree hierarchy can efficiently be determined by arith-metic and logical operations on the integer index values iand j, see also Figure 13. Furthermore, it is also observedthat the dependency relation of Figure 11 can be expressedby arithmetic expressions as functions of the point’s indexi,j. The implicit definition of quadtree levels and depen-dency relations between points by arithmetic functionsallows the top-down and bottom-up algorithms presented in[Paj98a] to run very fast and directly on the array of theheight-field grid data instead of relying on a hierarchicalpointer-based data structure (i.e. as in [SS92]).

FIGURE 13. Implicit quadtree hierarchy and point indexingdefined on the height-field grid.

An optimal output-sensitive triangulation algorithm ispresented in [Paj98a] that exploits the strict error monotonicityachieved by error saturation (see Section 5). This allows fora simple top-down vertex selection algorithm which doesnot have to resolve any restricted quadtree dependencies orpropagate triangle splits at run-time. The proposed saturatederror metric guarantees that the set of initially selected verti-ces for a given threshold automatically satisfy the restrictedquadtree constraint and hence allow for a crack-free match-ing triangulation.

To improve rendering performance, a triangle strip con-struction algorithm is presented in [Paj98a] that traverses theentire quadtree hierarchy instead of blocks as proposed in[LKR+96]. As shown in Figure 14, the RQT triangle stripthat recursively circles counterclockwise around eachquadtree block’s center vertex is a space filling curve thatvisits all triangles exactly once. It also represents a Hamilto-nian path in the dual graph of the triangulation. This trianglestrip can be generated by a depth-first traversal of thequadtree in linear time, proportional to the size of the gener-ated triangle strip. Moreover, the proposed error saturationtechnique in [Paj98a] and the quadtree based triangle stripgeneration support a highly efficient unified vertex selec-tion, triangle strip generation and rendering algorithm basedon a single depth-first traversal of the implicit height-fieldquadtree.

FIGURE 14. Generalized RQT triangle strip shown in a) andits Hamiltonian path on the dual graph in b).

3.5 4-8 MeshesThe class of 4-8 meshes [BLV01, VG00, Vel01] is based ona quadtree subdivision and triangulation as illustrated inFigure 15, which in its triangulation power is basicallyequivalent to the previously outlined quadtree and trianglebin-tree meshing approaches.

FIGURE 15. Recursive 4-8 triangle mesh subdivision.

However, instead of a vertex dependency graph as in[LKR+96], a merging domain Mv is defined for each vertexv in [BLV01] for the purpose of satisfying the triangulationconstraints that avoid cracks in the surface mesh. As shownin Figure 16, the merging domain Mv is basically the transi-tive hull of all vertices depending on v in the dependencygraph [LKR+96]. Consequently Mv is used to define all verti-ces that must be removed from the triangulation jointly with v.And hence the removal of multiple vertices is constrained bythe joint removal of the union of their merging domains. A sim-ilar concept, the splitting domain, is introduced for insertingvertices into the triangulation.

FIGURE 16. A vertex v and its merging domain Mv arehighlighted in a). The adaptive triangle mesh after removalof v and Mv is shown in b).

The triangulation algorithms presented in [BLV01,BAV98] require O(n log n) time to refine or merge n nodes.This is in contrast to the algorithms presented in [LKR+96]and [Paj98a] which can generate an adaptive mesh of n tri-angles optimally in linear O(n) time.

2k 1+ 2k 1+!

level 2level 0 level 1

P0,0

P0,2k

P2k,0

P2k,2k

P2k-1,0

P2k-1,2k

P0,2k-1P2k-1,2k-1

P2k,2k-1

a) b)

b)

merging domain Mvvertex v to be removed

a)

Fig. 16 Recursive 4-8 triangle mesh subdivision.

However, instead of a vertex dependency graph as in[34], a merging domain Mv is defined for each vertexv in[3] for the purpose of satisfying the triangulation constraintsthat avoid cracks in the surface mesh. As shown in Figure 17,the merging domainMv is basically the transitive hull of allvertices depending onv in the dependency graph [34]. Con-sequentlyMv is used to define all vertices that must be re-moved from the triangulation jointly withv. And hence theremoval of multiple vertices is constrained by the joint re-moval of the union of their merging domains. A similar con-cept, thesplitting domain, is introduced for inserting verticesinto the triangulation.

6

needs to be stored. For such an implicit quadtree, this reducesthe storage cost effectively down to the elevation and approxi-mation error values per vertex.

As shown in [Paj98b], for each point Pi,j of the height-field grid its level l in the implicit

quadtree hierarchy can efficiently be determined by arith-metic and logical operations on the integer index values iand j, see also Figure 13. Furthermore, it is also observedthat the dependency relation of Figure 11 can be expressedby arithmetic expressions as functions of the point’s indexi,j. The implicit definition of quadtree levels and depen-dency relations between points by arithmetic functionsallows the top-down and bottom-up algorithms presented in[Paj98a] to run very fast and directly on the array of theheight-field grid data instead of relying on a hierarchicalpointer-based data structure (i.e. as in [SS92]).

FIGURE 13. Implicit quadtree hierarchy and point indexingdefined on the height-field grid.

An optimal output-sensitive triangulation algorithm ispresented in [Paj98a] that exploits the strict error monotonicityachieved by error saturation (see Section 5). This allows fora simple top-down vertex selection algorithm which doesnot have to resolve any restricted quadtree dependencies orpropagate triangle splits at run-time. The proposed saturatederror metric guarantees that the set of initially selected verti-ces for a given threshold automatically satisfy the restrictedquadtree constraint and hence allow for a crack-free match-ing triangulation.

To improve rendering performance, a triangle strip con-struction algorithm is presented in [Paj98a] that traverses theentire quadtree hierarchy instead of blocks as proposed in[LKR+96]. As shown in Figure 14, the RQT triangle stripthat recursively circles counterclockwise around eachquadtree block’s center vertex is a space filling curve thatvisits all triangles exactly once. It also represents a Hamilto-nian path in the dual graph of the triangulation. This trianglestrip can be generated by a depth-first traversal of thequadtree in linear time, proportional to the size of the gener-ated triangle strip. Moreover, the proposed error saturationtechnique in [Paj98a] and the quadtree based triangle stripgeneration support a highly efficient unified vertex selec-tion, triangle strip generation and rendering algorithm basedon a single depth-first traversal of the implicit height-fieldquadtree.

FIGURE 14. Generalized RQT triangle strip shown in a) andits Hamiltonian path on the dual graph in b).

3.5 4-8 MeshesThe class of 4-8 meshes [BLV01, VG00, Vel01] is based ona quadtree subdivision and triangulation as illustrated inFigure 15, which in its triangulation power is basicallyequivalent to the previously outlined quadtree and trianglebin-tree meshing approaches.

FIGURE 15. Recursive 4-8 triangle mesh subdivision.

However, instead of a vertex dependency graph as in[LKR+96], a merging domain Mv is defined for each vertexv in [BLV01] for the purpose of satisfying the triangulationconstraints that avoid cracks in the surface mesh. As shownin Figure 16, the merging domain Mv is basically the transi-tive hull of all vertices depending on v in the dependencygraph [LKR+96]. Consequently Mv is used to define all verti-ces that must be removed from the triangulation jointly with v.And hence the removal of multiple vertices is constrained bythe joint removal of the union of their merging domains. A sim-ilar concept, the splitting domain, is introduced for insertingvertices into the triangulation.

FIGURE 16. A vertex v and its merging domain Mv arehighlighted in a). The adaptive triangle mesh after removalof v and Mv is shown in b).

The triangulation algorithms presented in [BLV01,BAV98] require O(n log n) time to refine or merge n nodes.This is in contrast to the algorithms presented in [LKR+96]and [Paj98a] which can generate an adaptive mesh of n tri-angles optimally in linear O(n) time.

2k 1+ 2k 1+!

level 2level 0 level 1

P0,0

P0,2k

P2k,0

P2k,2k

P2k-1,0

P2k-1,2k

P0,2k-1P2k-1,2k-1

P2k,2k-1

a) b)

b)

merging domain Mvvertex v to be removed

a)a) b)

Fig. 17 A vertex v and its merging domainMv are highlighted in a).The adaptive triangle mesh after removal ofv andMv is shown in b).

The triangulation algorithms presented in [2,3] requireO(nlogn) time to refine or mergen nodes. This is in con-trast to the algorithms presented in [34] and [42] which cangenerate an adaptive mesh ofn triangles optimally in linearO(n) time.

Irregular Quadtree Hierarchy.In [61,60] it has been shownthat arbitrary 3D surfaces can adaptively be triangulated bya hierarchical 4-8 triangulation approach, given a parame-terization of the manifold surface is known. TheQuadTINapproach presented in [44] goes one step further and definesa restricted quadtree hierarchy on top of any irregular pointset in 2D, i.e. given from a preprocessedtriangulated irreg-ular network(TIN). As in [61,60], the idea of QuadTIN [44]is based on the fact that points do not have to lie on a regulargrid to allow for a regular hierarchical triangle subdivisionas shown in Figure 18.

At each subdivision step, the diagonal edge of a quadri-lateral is not necessarily split at its midpoint, but using anearby point from the input data set as shown in Figure 19-a.

7

3.6 Irregular Quadtree HierarchyIn [VG00, Vel01] it has been shown that arbitrary 3D sur-faces can adaptively be triangulated by a hierarchical 4-8 tri-angulation approach, given a parameterization of themanifold surface is known. The QuadTIN approach pre-sented in [PAL02] goes one step further and defines arestricted quadtree hierarchy on top of any irregular pointset in 2D, i.e. given from a preprocessed triangulated irreg-ular network (TIN). As in [VG00, Vel01], the idea of Quad-TIN [PAL02] is based on the fact that points do not have tolie on a regular grid to allow for a regular hierarchical trian-gle subdivision as shown in Figure 17.

FIGURE 17. Irregular recursive QuadTIN subdivision.

At each subdivision step, the diagonal edge of a quadri-lateral is not necessarily split at its midpoint, but using anearby point from the input data set as shown inFigure 18 a). To avoid badly shaped triangles and inversionof orientation, however, the domain for searching for goodinput vertices is restricted as illustrated in Figure 18 b). If nogood candidate vertices exist, artificial Steiner Points areinserted to guarantee a coherent restricted quadtree triangu-lation hierarchy.

FIGURE 18. a) Vertex closest to the midpoint of diagonaledge et,t’ is selected for recursive subdivision. b) Onlyvertices from a restricted search domain are considered.

An example adaptive QuadTIN based terrain triangula-tion is shown in Figure 19 which demonstrates its flexibilityto adapt to an irregular input point data set. This added flex-ibility comes at the expense of extra points inserted into thedata set.

FIGURE 19. Adaptive QuadTIN triangulation of an irregulardistribution of elevation samples.

4. Triangle Bin-TreesIn this section we discuss alternative triangle bisectionbased algorithms which generate equivalent triangulationsof grid-digital terrain height-fields as the methods presentedin the previous section.

4.1 Real-time Optimally Adapting MeshesThe Real-time Optimally Adapting Meshes (ROAM) trian-gulation method presented in [DWS+97] is conceptuallyvery close to [LKR+96]. However, it is strictly based on thenotion of a triangle bin-tree hierarchy as shown in Figure 20,which is a special case of the longest side bisection trianglerefinement method described in [Riv93, Riv95]. Thismethod recursively refines triangles by splitting their long-est edge at the base vertex (see also Figure 10).

FIGURE 20. Binary longest side bisection hierarchy ofisosceles triangles with indicated split vertices on thelongest side.

As shown in Figure 21, for a refinement operation a pairof triangles are split at the common base vertex of theirshared longest edge, and a simplification operation consistsof merging two triangle pairs at their common base vertex.

FIGURE 21. Split and merge operations on a bin-treetriangulation.

An important observation is that in a matching triangula-tion, all neighbors of a triangle t on level l in the bin-treehierarchy must be either on the same level as t, or on levelsl+1 or l-1 of the bin-tree hierarchy. Therefore, two pairs oftriangles ta,tb and tc,td sharing the same base vertex can onlybe merged if they are all on the same level in the bin-treehierarchy as shown in Figure 21. Furthermore, a triangle tcannot be split immediately if its neighbor tlong across its

level llevel l-1 level l level l+1

vcenter

a) b)

restrictedsearch domain

base edge et,t’

t t’t

t’

level l+2level l level l+1 level l+3

base vertex, midpoint of longest side

split

merge

td tc

ta tb

Fig. 18 Irregular recursive QuadTIN subdivision.

To avoid badly shaped triangles and inversion of orientation,however, the domain for searching for good input vertices isrestricted as illustrated in Figure 19-b. If no good candidatevertices exist, artificialSteiner Pointsare inserted to guaran-tee a coherent restricted quadtree triangulation hierarchy.

7

3.6 Irregular Quadtree HierarchyIn [VG00, Vel01] it has been shown that arbitrary 3D sur-faces can adaptively be triangulated by a hierarchical 4-8 tri-angulation approach, given a parameterization of themanifold surface is known. The QuadTIN approach pre-sented in [PAL02] goes one step further and defines arestricted quadtree hierarchy on top of any irregular pointset in 2D, i.e. given from a preprocessed triangulated irreg-ular network (TIN). As in [VG00, Vel01], the idea of Quad-TIN [PAL02] is based on the fact that points do not have tolie on a regular grid to allow for a regular hierarchical trian-gle subdivision as shown in Figure 17.

FIGURE 17. Irregular recursive QuadTIN subdivision.

At each subdivision step, the diagonal edge of a quadri-lateral is not necessarily split at its midpoint, but using anearby point from the input data set as shown inFigure 18 a). To avoid badly shaped triangles and inversionof orientation, however, the domain for searching for goodinput vertices is restricted as illustrated in Figure 18 b). If nogood candidate vertices exist, artificial Steiner Points areinserted to guarantee a coherent restricted quadtree triangu-lation hierarchy.

FIGURE 18. a) Vertex closest to the midpoint of diagonaledge et,t’ is selected for recursive subdivision. b) Onlyvertices from a restricted search domain are considered.

An example adaptive QuadTIN based terrain triangula-tion is shown in Figure 19 which demonstrates its flexibilityto adapt to an irregular input point data set. This added flex-ibility comes at the expense of extra points inserted into thedata set.

FIGURE 19. Adaptive QuadTIN triangulation of an irregulardistribution of elevation samples.

4. Triangle Bin-TreesIn this section we discuss alternative triangle bisectionbased algorithms which generate equivalent triangulationsof grid-digital terrain height-fields as the methods presentedin the previous section.

4.1 Real-time Optimally Adapting MeshesThe Real-time Optimally Adapting Meshes (ROAM) trian-gulation method presented in [DWS+97] is conceptuallyvery close to [LKR+96]. However, it is strictly based on thenotion of a triangle bin-tree hierarchy as shown in Figure 20,which is a special case of the longest side bisection trianglerefinement method described in [Riv93, Riv95]. Thismethod recursively refines triangles by splitting their long-est edge at the base vertex (see also Figure 10).

FIGURE 20. Binary longest side bisection hierarchy ofisosceles triangles with indicated split vertices on thelongest side.

As shown in Figure 21, for a refinement operation a pairof triangles are split at the common base vertex of theirshared longest edge, and a simplification operation consistsof merging two triangle pairs at their common base vertex.

FIGURE 21. Split and merge operations on a bin-treetriangulation.

An important observation is that in a matching triangula-tion, all neighbors of a triangle t on level l in the bin-treehierarchy must be either on the same level as t, or on levelsl+1 or l-1 of the bin-tree hierarchy. Therefore, two pairs oftriangles ta,tb and tc,td sharing the same base vertex can onlybe merged if they are all on the same level in the bin-treehierarchy as shown in Figure 21. Furthermore, a triangle tcannot be split immediately if its neighbor tlong across its

level llevel l-1 level l level l+1

vcenter

a) b)

restrictedsearch domain

base edge et,t’

t t’t

t’

level l+2level l level l+1 level l+3

base vertex, midpoint of longest side

split

merge

td tc

ta tb

Fig. 19 a) Vertex closest to the midpoint of diagonal edgeet,t is se-lected for recursive subdivision. b) Only vertices from a restrictedsearch domain are considered.

An example adaptive QuadTIN based terrain triangula-tion is shown in Figure 20 which demonstrates its flexibilityto adapt to an irregular input point data set. This added flex-ibility comes at the expense of extra points inserted into thedata set.

Fig. 20 Adaptive QuadTIN triangulation of an irregular distribution ofelevation samples.

4.2 Triangle Bin-Trees

In this section we discuss triangle bisection based algorithmswhich generate equivalent triangulations of grid-digital ter-rain height-fields as the methods presented previously.

Real-time Optimally Adapting Meshes.TheReal-time Opti-mally Adapting Meshes(ROAM) triangulation method pre-sented in [13] is conceptually very close to [34]. However, it

Page 9: 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti …00000000-2d84-4b92-0000-0000445d2ab2/... · Survey on Semi-Regular Multiresolution Models for Interactive ... Survey on semi-regular

Survey on semi-regular multiresolution models for interactive terrain rendering 9

is strictly based on the notion of atriangle bin-treehierarchyas shown in Figure 21, which is a special case of thelongestside bisectiontriangle refinement method described in [51,52]. This method recursively refines triangles by splittingtheir longest edge at thebase vertex(see also Figure 11).

7

3.6 Irregular Quadtree HierarchyIn [VG00, Vel01] it has been shown that arbitrary 3D sur-faces can adaptively be triangulated by a hierarchical 4-8 tri-angulation approach, given a parameterization of themanifold surface is known. The QuadTIN approach pre-sented in [PAL02] goes one step further and defines arestricted quadtree hierarchy on top of any irregular pointset in 2D, i.e. given from a preprocessed triangulated irreg-ular network (TIN). As in [VG00, Vel01], the idea of Quad-TIN [PAL02] is based on the fact that points do not have tolie on a regular grid to allow for a regular hierarchical trian-gle subdivision as shown in Figure 17.

FIGURE 17. Irregular recursive QuadTIN subdivision.

At each subdivision step, the diagonal edge of a quadri-lateral is not necessarily split at its midpoint, but using anearby point from the input data set as shown inFigure 18 a). To avoid badly shaped triangles and inversionof orientation, however, the domain for searching for goodinput vertices is restricted as illustrated in Figure 18 b). If nogood candidate vertices exist, artificial Steiner Points areinserted to guarantee a coherent restricted quadtree triangu-lation hierarchy.

FIGURE 18. a) Vertex closest to the midpoint of diagonaledge et,t’ is selected for recursive subdivision. b) Onlyvertices from a restricted search domain are considered.

An example adaptive QuadTIN based terrain triangula-tion is shown in Figure 19 which demonstrates its flexibilityto adapt to an irregular input point data set. This added flex-ibility comes at the expense of extra points inserted into thedata set.

FIGURE 19. Adaptive QuadTIN triangulation of an irregulardistribution of elevation samples.

4. Triangle Bin-TreesIn this section we discuss alternative triangle bisectionbased algorithms which generate equivalent triangulationsof grid-digital terrain height-fields as the methods presentedin the previous section.

4.1 Real-time Optimally Adapting MeshesThe Real-time Optimally Adapting Meshes (ROAM) trian-gulation method presented in [DWS+97] is conceptuallyvery close to [LKR+96]. However, it is strictly based on thenotion of a triangle bin-tree hierarchy as shown in Figure 20,which is a special case of the longest side bisection trianglerefinement method described in [Riv93, Riv95]. Thismethod recursively refines triangles by splitting their long-est edge at the base vertex (see also Figure 10).

FIGURE 20. Binary longest side bisection hierarchy ofisosceles triangles with indicated split vertices on thelongest side.

As shown in Figure 21, for a refinement operation a pairof triangles are split at the common base vertex of theirshared longest edge, and a simplification operation consistsof merging two triangle pairs at their common base vertex.

FIGURE 21. Split and merge operations on a bin-treetriangulation.

An important observation is that in a matching triangula-tion, all neighbors of a triangle t on level l in the bin-treehierarchy must be either on the same level as t, or on levelsl+1 or l-1 of the bin-tree hierarchy. Therefore, two pairs oftriangles ta,tb and tc,td sharing the same base vertex can onlybe merged if they are all on the same level in the bin-treehierarchy as shown in Figure 21. Furthermore, a triangle tcannot be split immediately if its neighbor tlong across its

level llevel l-1 level l level l+1

vcenter

a) b)

restrictedsearch domain

base edge et,t’

t t’t

t’

level l+2level l level l+1 level l+3

base vertex, midpoint of longest side

split

merge

td tc

ta tb

Fig. 21 Binary longest side bisection hierarchy of isosceles triangleswith indicated split vertices on the longest side.

As shown in Figure 22, for a refinement operation a pairof triangles are split at the common base vertex of theirshared longest edge, and a simplification operation consistsof merging two triangle pairs at their common base vertex.

7

3.6 Irregular Quadtree HierarchyIn [VG00, Vel01] it has been shown that arbitrary 3D sur-faces can adaptively be triangulated by a hierarchical 4-8 tri-angulation approach, given a parameterization of themanifold surface is known. The QuadTIN approach pre-sented in [PAL02] goes one step further and defines arestricted quadtree hierarchy on top of any irregular pointset in 2D, i.e. given from a preprocessed triangulated irreg-ular network (TIN). As in [VG00, Vel01], the idea of Quad-TIN [PAL02] is based on the fact that points do not have tolie on a regular grid to allow for a regular hierarchical trian-gle subdivision as shown in Figure 17.

FIGURE 17. Irregular recursive QuadTIN subdivision.

At each subdivision step, the diagonal edge of a quadri-lateral is not necessarily split at its midpoint, but using anearby point from the input data set as shown inFigure 18 a). To avoid badly shaped triangles and inversionof orientation, however, the domain for searching for goodinput vertices is restricted as illustrated in Figure 18 b). If nogood candidate vertices exist, artificial Steiner Points areinserted to guarantee a coherent restricted quadtree triangu-lation hierarchy.

FIGURE 18. a) Vertex closest to the midpoint of diagonaledge et,t’ is selected for recursive subdivision. b) Onlyvertices from a restricted search domain are considered.

An example adaptive QuadTIN based terrain triangula-tion is shown in Figure 19 which demonstrates its flexibilityto adapt to an irregular input point data set. This added flex-ibility comes at the expense of extra points inserted into thedata set.

FIGURE 19. Adaptive QuadTIN triangulation of an irregulardistribution of elevation samples.

4. Triangle Bin-TreesIn this section we discuss alternative triangle bisectionbased algorithms which generate equivalent triangulationsof grid-digital terrain height-fields as the methods presentedin the previous section.

4.1 Real-time Optimally Adapting MeshesThe Real-time Optimally Adapting Meshes (ROAM) trian-gulation method presented in [DWS+97] is conceptuallyvery close to [LKR+96]. However, it is strictly based on thenotion of a triangle bin-tree hierarchy as shown in Figure 20,which is a special case of the longest side bisection trianglerefinement method described in [Riv93, Riv95]. Thismethod recursively refines triangles by splitting their long-est edge at the base vertex (see also Figure 10).

FIGURE 20. Binary longest side bisection hierarchy ofisosceles triangles with indicated split vertices on thelongest side.

As shown in Figure 21, for a refinement operation a pairof triangles are split at the common base vertex of theirshared longest edge, and a simplification operation consistsof merging two triangle pairs at their common base vertex.

FIGURE 21. Split and merge operations on a bin-treetriangulation.

An important observation is that in a matching triangula-tion, all neighbors of a triangle t on level l in the bin-treehierarchy must be either on the same level as t, or on levelsl+1 or l-1 of the bin-tree hierarchy. Therefore, two pairs oftriangles ta,tb and tc,td sharing the same base vertex can onlybe merged if they are all on the same level in the bin-treehierarchy as shown in Figure 21. Furthermore, a triangle tcannot be split immediately if its neighbor tlong across its

level llevel l-1 level l level l+1

vcenter

a) b)

restrictedsearch domain

base edge et,t’

t t’t

t’

level l+2level l level l+1 level l+3

base vertex, midpoint of longest side

split

merge

td tc

ta tb

Fig. 22 Split and merge operations on a bin-tree triangulation.

An important observation is that in a conforming trian-gulation, all neighbors of a trianglet on levell in the bin-treehierarchy must be either on the same level ast, or on levelsl +1 or l −1 of the bin-tree hierarchy. Therefore, two pairsof trianglesta, tb andtc, td sharing the same base vertex canonly be merged if they are all on the same level in the bin-tree hierarchy as shown in Figure 22. Furthermore, a trianglet cannot be split immediately if its neighbortlong across itslongest edge is from a coarser level as shown in Figure 23.In that case, trianglet can only be split if its correspondingneighbor isforcedto split first. These forced splits are con-ceptually the same as the split propagation of [58] shown inFigure 10. Moreover, the dependency relation of [34] in Fig-ure 12 denotes exactly the same forced split propagation ofa bin-tree or restricted quadtree triangulation. All these con-cepts for assuring a conforming triangulation are equivalentin this context.

8

longest edge is from a coarser level as shown in Figure 22.Triangle t can only be split if its corresponding neighbor isforced to split first. These forced splits are conceptually thesame as the split propagation of [SS92] shown in Figure 8.Moreover, the dependency relation of [LKR+96] inFigure 11 denotes exactly the same forced split propagationof a bin-tree or restricted quadtree triangulation. All theseconcepts for assuring a matching triangulation are equiva-lent in this context.

FIGURE 22. Propagation of forced triangle splits.

The run-time triangulation algorithm of ROAM is basedon a greedy algorithm using two priority queues of the trian-gles of the current mesh T: The split queue Qs storesthe triangles according to their priority to be split next,and the merge queue Qm maintains the mergible trianglepairs of T. For each frame the priority queues Qm and Qs areconsulted and the current triangle mesh is adaptively refinedor simplified accordingly to satisfy the given error threshold!. The priorities are based on an error metric defined on tri-angles.

To guarantee an "-approximation with respect to a par-ticular error metric, the proposed greedy algorithm requiresthe error metric, and thus the priorities of Qm and Qs, to bestrictly monotonic. This means that the error or priority ofany triangle in the bin-tree hierarchy cannot be larger thanits parent’s priority. This monotonicity requirement limitsthe direct applicability of many standard error metrics. Forexample, neither the view-dependent error metric in[LKR+96] nor the vertical distance measure of [SS92] or theHausdorff distance error metric defined hierarchically onremoved vertices or triangles initially satisfy this monoto-nicity requirement (see also Section 5). Special care has tobe taken to enforce monotonicity of any error metric by abottom up traversal of the triangle bin-tree hierarchy in apreprocess and calculating bounding priorities at each node.

Besides the two main contributions of ROAM which arethe priority-queue driven triangle-bin-tree based triangula-tion method and a screen distortion error metric, the paper[DWS+97] contains a number of interesting contributions. Alist of twelve criteria is given that generally apply to meshsimplification and in particular to large scale terrain visual-ization. Furthermore, a few performance enhancements thatare implemented in ROAM are described including view-frustum culling, incremental triangle strip generation,deferred priority recomputation, and progressive optimiza-tion.

4.2 Right-Triangulated Irregular NetworksRight-Triangulated Irregular Networks (RTIN) as presentedin [EKT01] is a multiresolution triangulation framework forthe same class of triangle bin-tree meshes [DWS+97] as pre-sented above. The RTIN approach is particularly focused onthe efficient representation of the binary triangle hierarchy,and fast mesh traversal for neighbor-finding. Starting with asquare triangulated by choosing one diagonal, triangles aresplit recursively at the base vertex or midpoint of their long-est edge, identical to the method described above inSection 4.1. To guarantee a matching triangulation withoutcracks the same propagation of forced splits as shown inFigure 22 is imposed on the RTIN triangulation. In [EKT01]it is observed that split propagation caused by splitting a tri-angle t on level lt cannot cause triangles smaller than t to besplit (on levels l > lt), and that at most two triangles on eachlevel l # lt are split. Thus split propagation terminates in theworst case in O(log n) steps, with n being the size of the tri-angle bin-tree hierarchy (number of leaf nodes).

One of the main contributions of [EKT01] is an efficientdata structure to represent right-triangular surface approxi-mations. Similar to Figure 10, child triangles resulting froma split are labelled as left and right with respect to the splitvertex of their parent triangle. A binary labelling scheme asshown in Figure 23 is used in RTIN to identify triangularregions of the approximation. A RTIN triangulation is thusrepresented by a binary tree denoting the triangle splits andthe elevation values (z coordinate) of the triangle vertices.The geographical (x and y) coordinates do not have to bestored for each vertex but can be computed from the trian-gle’s label. As noted in [EKT01], a main memory imple-mentation of such a binary tree structure with two pointersand three vertex indices1 per node is space inefficient if usedto represent one single triangulated surface approximation.However, a triangle bin-tree actually represents an entirehierarchy of triangulations. To reduce the storage cost of atriangle bin-tree hierarchy it is proposed to remove childpointers by storing the nodes in an array and using an arrayindexing scheme based on the node labels.

FIGURE 23. RTIN triangle bin-tree labelling using 0 for leftand 1 for right.

Based on the binary tree representation of the RTINhierarchy as shown in Figure 23, an efficient neighbor find-ing scheme is the second main contribution of [EKT01].

desired split at base vertex

t

forced splits

tlong

t T$t T$

1. could be reduced to only one vertex index, others are known from par-ent triangle nodes.

10

11

010

001

0111

00000110

0001

0

0

0

0

0

0

0

1

11

11

1 1

Fig. 23 Propagation of forced triangle splits.

The run-time triangulation algorithm of ROAM is basedon a greedy algorithm using two priority queues of the trian-glest ∈ T of the current meshT: The split queueQs stores

the trianglest ∈ T according to their priority to be split next,and the merge queueQm maintains the mergible trianglepairs ofT. For each frame the priority queuesQm andQs areconsulted and the current triangle mesh is adaptively refinedor simplified accordingly to satisfy the given error thresh-old τ. The priorities are based on an error metric defined ontriangles.

To guarantee an e-approximation with respect to a par-ticular error metric, the proposed greedy algorithm requiresthe error metric, and thus the priorities ofQm andQs, to bestrictly monotonic. This means that the error or priority ofany triangle in the bin-tree hierarchy cannot be larger thanits parents priority. This monotonicity requirement limits thedirect applicability of many standard error metrics. For ex-ample, neither the view-dependent error metric in [34] northe vertical distance measure of [58] or the Hausdorff dis-tance error metric defined hierarchically on removed verticesor triangles initially satisfy this monotonicity requirement(see also Section 6). Special care has to be taken to enforcemonotonicity of any error metric by a bottom up traversal ofthe triangle bin-tree hierarchy in a preprocess and calculat-ing bounding priorities at each node.

Besides the two main contributions of ROAM which arethe priority-queue driven triangle-bin-tree based triangula-tion method and a screen distortion error metric, the paper[13] contains a number of interesting contributions. A list oftwelve criteria is given that generally apply to mesh simpli-fication and in particular to large scale terrain visualization.Furthermore, a few performance enhancements that are im-plemented in ROAM are described including view-frustumculling, incremental triangle strip generation, deferred prior-ity recomputation, and progressive optimization.

Right-Triangulated Irregular Networks. Right-TriangulatedIrregular Networks(RTIN) as presented in [14] is a mul-tiresolution triangulation framework for the same class oftriangle bin-tree meshes [13] as presented above. The RTINapproach is particularly focused on the efficient representa-tion of the binary triangle hierarchy, and fast mesh traversalfor neighbor-finding. Starting with a square triangulated bychoosing one diagonal, triangles are split recursively at thebase vertex or midpoint of their longest edge, identical to themethod described above.To guarantee a conforming triangu-lation without cracks the same propagation of forced splitsas shown in Figure 23 is imposed on the RTIN triangula-tion. In [14] it is observed that split propagation caused bysplitting a trianglet on levellt cannot cause triangles smallerthant to be split (on levelsl > lt), and that at most two tri-angles on each levell ≤ lt are split. Thus split propagationterminates in the worst case inO(logn) steps, withn beingthe size of the triangle bin-tree hierarchy (number of leafnodes).

One of the main contributions of [14] is an efficientdata structure to represent right-triangular surfaceapproximations. Similar to Figure 11, child trianglesresulting from a split are labelled asleft and right withrespect to the split vertex of their parent triangle. A binary

Page 10: 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti …00000000-2d84-4b92-0000-0000445d2ab2/... · Survey on Semi-Regular Multiresolution Models for Interactive ... Survey on semi-regular

10 Renato Pajarola, Enrico Gobbetti

labelling scheme as shown in Figure 24 is used in RTINto identify triangular regions of the approximation. ARTIN triangulation is thus represented by a binary treedenoting the triangle splits and the elevation values (zcoordinate) of the triangle vertices. The geographical(x and y) coordinates do not have to be stored for eachvertex but can be computed from the triangles label. Asnoted in [14], a main memory implementation of such abinary tree structure with two pointers and three vertexindices2 per node is space inefficient if used to representone single triangulated surface approximation. However,a triangle bin-tree actually represents an entire hierarchyof triangulations. To reduce the storage cost of a trianglebin-tree hierarchy it is proposed to remove child pointers bystoring the nodes in an array and using an array indexingscheme based on the node labels.

8

longest edge is from a coarser level as shown in Figure 22.Triangle t can only be split if its corresponding neighbor isforced to split first. These forced splits are conceptually thesame as the split propagation of [SS92] shown in Figure 8.Moreover, the dependency relation of [LKR+96] inFigure 11 denotes exactly the same forced split propagationof a bin-tree or restricted quadtree triangulation. All theseconcepts for assuring a matching triangulation are equiva-lent in this context.

FIGURE 22. Propagation of forced triangle splits.

The run-time triangulation algorithm of ROAM is basedon a greedy algorithm using two priority queues of the trian-gles of the current mesh T: The split queue Qs storesthe triangles according to their priority to be split next,and the merge queue Qm maintains the mergible trianglepairs of T. For each frame the priority queues Qm and Qs areconsulted and the current triangle mesh is adaptively refinedor simplified accordingly to satisfy the given error threshold!. The priorities are based on an error metric defined on tri-angles.

To guarantee an "-approximation with respect to a par-ticular error metric, the proposed greedy algorithm requiresthe error metric, and thus the priorities of Qm and Qs, to bestrictly monotonic. This means that the error or priority ofany triangle in the bin-tree hierarchy cannot be larger thanits parent’s priority. This monotonicity requirement limitsthe direct applicability of many standard error metrics. Forexample, neither the view-dependent error metric in[LKR+96] nor the vertical distance measure of [SS92] or theHausdorff distance error metric defined hierarchically onremoved vertices or triangles initially satisfy this monoto-nicity requirement (see also Section 5). Special care has tobe taken to enforce monotonicity of any error metric by abottom up traversal of the triangle bin-tree hierarchy in apreprocess and calculating bounding priorities at each node.

Besides the two main contributions of ROAM which arethe priority-queue driven triangle-bin-tree based triangula-tion method and a screen distortion error metric, the paper[DWS+97] contains a number of interesting contributions. Alist of twelve criteria is given that generally apply to meshsimplification and in particular to large scale terrain visual-ization. Furthermore, a few performance enhancements thatare implemented in ROAM are described including view-frustum culling, incremental triangle strip generation,deferred priority recomputation, and progressive optimiza-tion.

4.2 Right-Triangulated Irregular NetworksRight-Triangulated Irregular Networks (RTIN) as presentedin [EKT01] is a multiresolution triangulation framework forthe same class of triangle bin-tree meshes [DWS+97] as pre-sented above. The RTIN approach is particularly focused onthe efficient representation of the binary triangle hierarchy,and fast mesh traversal for neighbor-finding. Starting with asquare triangulated by choosing one diagonal, triangles aresplit recursively at the base vertex or midpoint of their long-est edge, identical to the method described above inSection 4.1. To guarantee a matching triangulation withoutcracks the same propagation of forced splits as shown inFigure 22 is imposed on the RTIN triangulation. In [EKT01]it is observed that split propagation caused by splitting a tri-angle t on level lt cannot cause triangles smaller than t to besplit (on levels l > lt), and that at most two triangles on eachlevel l # lt are split. Thus split propagation terminates in theworst case in O(log n) steps, with n being the size of the tri-angle bin-tree hierarchy (number of leaf nodes).

One of the main contributions of [EKT01] is an efficientdata structure to represent right-triangular surface approxi-mations. Similar to Figure 10, child triangles resulting froma split are labelled as left and right with respect to the splitvertex of their parent triangle. A binary labelling scheme asshown in Figure 23 is used in RTIN to identify triangularregions of the approximation. A RTIN triangulation is thusrepresented by a binary tree denoting the triangle splits andthe elevation values (z coordinate) of the triangle vertices.The geographical (x and y) coordinates do not have to bestored for each vertex but can be computed from the trian-gle’s label. As noted in [EKT01], a main memory imple-mentation of such a binary tree structure with two pointersand three vertex indices1 per node is space inefficient if usedto represent one single triangulated surface approximation.However, a triangle bin-tree actually represents an entirehierarchy of triangulations. To reduce the storage cost of atriangle bin-tree hierarchy it is proposed to remove childpointers by storing the nodes in an array and using an arrayindexing scheme based on the node labels.

FIGURE 23. RTIN triangle bin-tree labelling using 0 for leftand 1 for right.

Based on the binary tree representation of the RTINhierarchy as shown in Figure 23, an efficient neighbor find-ing scheme is the second main contribution of [EKT01].

desired split at base vertex

t

forced splits

tlong

t T$t T$

1. could be reduced to only one vertex index, others are known from par-ent triangle nodes.

10

11

010

001

0111

00000110

0001

0

0

0

0

0

0

0

1

11

11

1 1

Fig. 24 RTIN triangle bin-tree labelling using 0 forleft and 1 forright.

Based on the binary tree representation of the RTIN hi-erarchy as shown in Figure 24, an efficient neighbor find-ing scheme is the second main contribution of [14]. Givena counterclockwise numbering fromv1 to v3 of the verticesof trianglet with vertexv3 being the right-angled vertex, thei−neighborof trianglet is defined as the adjacent triangleti that does not share vertexi. Furthermore, thesame-sizei-neighborsof any triangle are the edge adjacent trianglesat the same level in the bin-tree hierarchy. For example, tri-angle 10 in Figure 24 is the same-size 1-neighbor of trian-gle 11, and triangle 001 is the 3-neighbor of triangle 0000but not a same-size neighbor. The neighbor-finding functionNI (t) presented in [14] first finds the same-size i-neighbor ofa triangle and then determines the actual i-neighbor for a par-ticular triangulation. The recursive neighbor-finding func-tion NI (t), that returns the label of the same-size i-neighborof a given trianglet, is conceptually identical to a recur-sive tree traversal for finding adjacent regions in any bi-nary space partition (BSP-tree), see also [54,53]. An effi-cient non-recursive implementation ofNI (t) based on arith-metic and logical operations is also given in [14].

For terrain visualization, each triangle is assignedan approximation error during the preprocess phase ofconstructing the RTIN hierarchy. At run-time, startingwith the two triangles at the root of the RTIN hierarchya depth-first traversal recursively splits triangles whoseapproximation errors exceed a given tolerance threshold.

2 could be reduced to only one vertex index, others are known fromparent triangle nodes

Forced splits are propagated to the correspondingi-neighbors to avoid cracks in the triangulated surfaceapproximation.

The main focus of RTIN is efficient representation of thetriangle bin-tree hierarchy and neighbor finding techniqueson the adaptively triangulated surface. Similar to [34,13,42],RTIN is efficient in creating an adaptive surface triangula-tion since its top-down algorithm is output sensitive. In fact,the RTIN approach is almost identical to the ROAM methodand only differs in notation and representation of the trian-gle bin-tree hierarchy. No detailed algorithms are given in[14] on how to incorporate propagation of forced splits togenerate a conforming triangulation.

Right-Triangular Bin-Tree.In [19], the class of restrictedquadtree or right-triangular bin-tree triangulations is studiedwith respect to efficient data storage and processing, searchand access methods, and data compression. It is proposedto always manage the data in compressed form, even inter-active processing is performed on the compressed data. Themultiresolution triangulation framework in [19] follows thebinary triangle hierarchy approach as used in [13] and [14].To prevent cracks in the triangulation resulting from recur-sive triangle bisection, error saturation is used as presentedin [42].

The main contribution of [19] is a compressed represen-tation of the triangle bin-tree hierarchy based on an efficientmesh traversal and triangle numbering scheme. The traversalorder of triangles in the bin-tree hierarchy is equivalent to thetriangle strip ordering as shown in Figure 15. Furthermore,each triangle is numbered such that the left child of a trian-gle with numbern receives the number 2n and the right childis numbered 2n+1 if the levell of the parent triangle is oddand vice versa if it is even as shown in Figure 25. For a giventriangle, bitwise logical operations can be used to computethe adjacent triangle that shares the common refinement ver-tex. Each vertex is associated with the two numbers of thetriangles that it refines.

9

Given a counterclockwise numbering from v1 to v3 of thevertices of triangle t with vertex v3 being the right-angledvertex, the i-neighbor of triangle t is defined as the adjacenttriangle ti that does not share vertex i. Furthermore, thesame-size i-neighbors of any triangle are the edge adjacenttriangles at the same level in the bin-tree hierarchy. Forexample, triangle 10 in Figure 23 is the same-size 1-neigh-bor of triangle 11, and triangle 001 is the 3-neighbor of tri-angle 0000 but not a same-size neighbor. The neighbor-finding function NI(t) presented in [EKT01] first finds thesame-size i-neighbor of a triangle and then determines theactual i-neighbor for a particular triangulation. The recursiveneighbor-finding function NI(t), that returns the label of thesame-size i-neighbor of a given triangle t, is conceptually iden-tical to a recursive tree traversal for finding adjacent regions inany binary space partition (BSP-tree), see also [Sam89b,Sam89a]. An efficient non-recursive implementation of NI(t)based on arithmetic and logical operations is also given in[EKT01].

For terrain visualization, each triangle is assigned anapproximation error during the preprocess phase of con-structing the RTIN hierarchy. At run-time, starting with thetwo triangles at the root of the RTIN hierarchy a depth-firsttraversal recursively splits triangles whose approximationerrors exceed a given tolerance threshold. Forced splits arepropagated to the corresponding i-neighbors to avoid cracksin the triangulated surface approximation.

The main focus of RTIN is efficient representation of thetriangle bin-tree hierarchy and neighbor finding techniqueson the adaptively triangulated surface. Similar to [LKR+96,DWS+97, Paj98a], RTIN is efficient in creating an adaptivesurface triangulation since its top-down algorithm is outputsensitive. In fact, the RTIN approach is almost identical tothe ROAM method and only differs in notation and repre-sentation of the triangle bin-tree hierarchy. No detailed algo-rithms are given in [EKT01] on how to incorporate propagationof forced splits to generate a matching triangulation.

4.3 Right-Triangular bin-treeIn [Ger99], the class of restricted quadtree or right-triangularbin-tree triangulations is studied with respect to efficientdata storage and processing, search and access methods, anddata compression. It is proposed to always manage the datain compressed form, even interactive processing is per-formed on the compressed data. The multiresolution trian-gulation framework in [Ger99] follows the binary trianglehierarchy approach as used in [DWS+97] and [EKT01]. Toprevent cracks in the triangulation resulting from recursivetriangle bisection, error saturation is used as presented in[Paj98a].

The main contribution of [Ger99] is a compressed repre-sentation of the triangle bin-tree hierarchy based on an effi-cient mesh traversal and triangle numbering scheme. Thetraversal order of triangles in the bin-tree hierarchy is equiv-alent to the triangle strip ordering as shown in Figure 14.Furthermore, each triangle is numbered such that the left

child of a triangle with number n receives the number 2nand the right child is numbered 2n+1 if the level l of the par-ent triangle is odd and vice versa if it is even as shown inFigure 24. For a given triangle, bitwise logical operationscan be used to compute the adjacent triangle that shares thecommon refinement vertex. Each vertex is associated withthe two numbers of the triangles that it refines.

FIGURE 24. Triangle numbering.

This ordering and triangle numbering imposes a binaryclassification of triangles in a matching bin-tree triangula-tion into up- or down-triangles. In a depth-first traversal ofthe bin-tree hierarchy, an up-triangle can only be followedby a triangle on the same or higher level (coarser triangle) inthe hierarchy. Similarly, a down-triangle can only have aneighbor on the same or lower level of the hierarchy. There-fore, the starting triangle and one bit per triangle is suffi-cient to encode an adaptive bin-tree triangulation.Furthermore, vertices only need to be specified on their firstoccurrence in the bin-tree traversal. Based on this traversaland numbering technique an efficient compressed represen-tation of a triangle bin-tree hierarchy is proposed. Moreover,it is shown how an arbitrary adaptive triangulation can effi-ciently be extracted from the code stream that represents theentire bin-tree hierarchy, and that can be read and processedefficiently from disk.

The triangulation algorithm and data structure presentedin [Ger99] are particularly tailored towards efficient repre-sentation and traversal of the binary triangle hierarchy. Theproposed encoding of the triangle bin-tree is very interestingfrom the point of view that it can be used to access an adap-tive triangulation efficiently even if the bin-tree is storedsequentially on disk. The proposed multiresolution triangu-lation framework provides most of the important featuressuch as continuous LOD, fast rendering, and compact repre-sentation.

5. LOD Error MetricIn this section we review the major error metrics that havebeen proposed for the discussed terrain triangulation algo-rithms.

5.1 Object-Space Approximation ErrorTo render deformed parametric surfaces, several recursivesubdivision criteria are given in [VHB87] that take into accountlocal curvature, intersection of surfaces, and silhouette bound-aries. While these subdivision criteria are not directly applica-ble to terrain height-fields, the local curvature criterion, orflatness, is similar to other geometric approximation errormetrics used for terrain triangulation.

The approximation error proposed in [SS92] is the verti-cal distance of a removed vertex with respect to its linearinterpolation provided by the parent node as shown in

123 4

567 89

10

1112

131415

Fig. 25 Triangle numbering.

This ordering and triangle numbering imposes a binaryclassification of triangles in a conforming bin-tree triangula-tion into up- or down-triangles. In a depth-first traversal ofthe bin-tree hierarchy, anup-trianglecan only be followedby a triangle on the same or higher level (coarser triangle)in the hierarchy. Similarly, adown-trianglecan only have aneighbor on the same or lower level of the hierarchy. There-fore, the starting triangle and one bit per triangle is sufficientto encode an adaptive bin-tree triangulation. Furthermore,vertices only need to be specified on their first occurrencein the bin-tree traversal. Based on this traversal and number-ing technique an efficient compressed representation of a tri-

Page 11: 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti …00000000-2d84-4b92-0000-0000445d2ab2/... · Survey on Semi-Regular Multiresolution Models for Interactive ... Survey on semi-regular

Survey on semi-regular multiresolution models for interactive terrain rendering 11

angle bin-tree hierarchy is proposed. Moreover, it is shownhow an arbitrary adaptive triangulation can efficiently be ex-tracted from the code stream that represents the entire bin-tree hierarchy, and that can be read and processed efficientlyfrom disk.

The triangulation algorithm and data structure presentedin [19] are particularly tailored towards efficient representa-tion and traversal of the binary triangle hierarchy. The pro-posed encoding of the triangle bin-tree is very interestingfrom the point of view that it can be used to access an adap-tive triangulation efficiently even if the bin-tree is stored se-quentially on disk. The proposed multiresolution frameworkprovides most of the important features such as continuousLOD, fast rendering, and compact representation.

4.3 Discussion

The different multiresolution terrain triangulationapproaches reviewed in this section all contribute uniquefeatures and improvements to the class of restrictedquadtree and bin-tree triangulations. The basic adaptivemultiresolution triangulation framework has beenintroduced in [58]. The approaches of [34] and [42] followthis concept of an adaptive quadtree hierarchy, while themethods presented in [13], [14] and [19] describe the sameclass of triangulations from the point of a binary trianglesubdivision hierarchy.

Very efficient triangulation algorithms are the focus of[34], [42], [35] and [5], which are based on a simple ver-tex selection strategy, and [13], which is based on a priori-tized triangle merge and split concept. Error saturation con-forming to the restricted quadtree triangulation constraintsintroduced in [42] and [19], has been extended to efficientview-dependent error metrics and LOD selection algorithmsin [35], [20] and [5]. While effective, most other trianglebin-tree based approaches are slightly more complex dueto recursively splitting triangles and resolving propagatedforced splits, and thus have some disadvantages comparedto the simple quadtree based vertex selection algorithms. Allsurveyed methods are capable of generating smooth adap-tive LODs for efficient terrain surface approximation, and,though not explicitly described, RTIN [14] can generate tri-angle strips for fast rendering.

The main objective of this kind of algorithms was tocompute on the CPU the minimum number of triangles torender each frame, so that the graphic board was able to sus-tain the rendering. More recently, the impressive improve-ments of the graphics hardware both in term of computa-tion and communication speed shifted the bottleneck of theprocess from the GPU to the CPU. In the next section wewill show how these methods can be made more efficient interms of raw triangle throughput by employing cluster basedapproaches.

5 Cluster Triangulations

The impressive improvement of graphics hardware in termsof computation and communication speed is reshaping thereal-time rendering domain. A number of performance andarchitectural aspects have a major impact on the design ofreal-time rendering methods.

Todays GPUs are able to sustain speeds of hundredsof millions of triangles per second; this fact has twoimportant implications for real-time rendering methods.First of all, to sustain such speeds, the CPU workload ofthe adaptive rendered has to be reduced to few instructioncycles per rendered triangle. Second, since the targetrendering speed is two orders of magnitudes larger thanthe number of screen pixels, there is an expectation forhigh quality scenes with millions of triangles per frame.On classic vertex- or triangle-based structures, managingand storing very large dependency graphs at run-timebecomes a major bottleneck, mostly due to random-accesstraversals with poor cache-coherence. Moreover, currentGPUs are optimized for retained mode graphics, andtheir maximum performance is obtained only when usingspecific preferential data paths. This typically means usingstripified, indexed, and well packed and aligned primitivesto exploit on-board vertex caches and fast render routes. Inaddition, the number of primitive batches (i.e. the number ofDrawIndexedPrimitivecalls) per frame has to be kept low,as driver overhead would otherwise dominate renderingtime [64]. Finally, maximum performance is only obtainedwhen rendering from on-board memory. Editing on-boardmemory introduces however synchronization issuesbetween CPU and GPU, which is a problem for dynamicLOD techniques. In this setting, approaches which select,at each frame, the minimum set of triangles to be renderedin the CPU typically do not have a sufficient throughput tofeed the GPU at the top of its capacity, both because of theper-triangle cost and the complexity associated to sendinggeometry in the correct format through preferential paths.Since the processing rate of GPUs is increasing faster thanthat of CPUs, the gap between what could be rendered bythe graphics hardware and what the CPU is able to computeon the fly to generate adaptive triangulations is doomed towiden.

For such reasons many techniques have been recentlyproposed to reduce the per-primitive workload by compos-ing at run-time pre-assembled optimized surface patches,making it possible to employ theretained-moderenderingmodel instead of the less efficient direct rendering approachfor all CPU-GPU communication tasks. The main commonpoint of these methods, that we call hereCluster Triangu-lations, is that they move the LOD unit up from points ortriangles to small contiguous portions of a mesh.

Page 12: 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti …00000000-2d84-4b92-0000-0000445d2ab2/... · Survey on Semi-Regular Multiresolution Models for Interactive ... Survey on semi-regular

12 Renato Pajarola, Enrico Gobbetti

5.1 Tiled Blocks

A classic example of aCluster Triangulationsapproachare tiled blocks techniques (e.g. [26,63]), which partitionthe terrain into square patches tessellated at differentresolutions. A full survey of this subject is beyond thissurvey, devoted to quadtree approaches. We restrict ourpresentation to [55] which proposes a combination of tiledblocks and restricted quadtree triangulations. The methodstrives to improve CPU / GPU communication efficiencyby incremental batched communication of updates. In thisapproach, the terrain mesh is partitioned into equal tilesof size 257x257, with an overlap of one sample in eitherdirection. For each tile, a fixed set of restricted quadtreemeshes of increasing error is generated, resulting in anested mesh hierarchy per tile. At run-time a specific LODis selected independently for each tile, and the relevantupdates are sent to the GPU. Each finer level is representedby all coarser level vertices plus the additional ones. Bycaching the current mesh on the GPU, only the additionalvertices need to be sent, reducing the required bandwidthby 50%. Since vertices are transferred by groups, efficientvertex array techniques can be employed to boost transferefficiency. In [55] all vertex data for a given tile is storedin a single vertex array, which grows by a block for eachLOD, while the connectivity is stored in a separate perlevel element array. In order to smoothly transition surfacechanges, the method exploits the concept ofgeomorphing[27] which interpolates vertex attributes between LODs.

The main challenge for this technique, as for all tiledblock techniques, is to seamlessly stitch block boundaries,which requires extra run-time work. In [55] boundaries ofneighboring tiles are detected and connected using run-timegenerated triangles. This need to remesh boundariesis avoided in the quadtree-based techniques that willbe presented next. Moreover, the technique is not fullyadaptive, and limits simplification to pure subsampling, inorder to support progressive vertex transmission.

5.2 Cached Triangle Bin-Trees

RUSTIC [47] and CABTT [31] are both extensions of theROAM [13] algorithm that improve rendering performancethrough the addition of coarse-grained on-board caching.RUSTIC is an extension of the basic ROAM algorithm inwhich preprocessed static subtrees of the ROAM trianglebin-tree are used. The CABTT approach is very similarto RUSTIC, but triangle clusters are dynamically created,cached and reused during rendering. Triangle clustersform the unit for LOD refinement/coarsening operations,and can be cached on the GPU as vertex arrays. Improvedperformance over ROAM is gained by rendering the meshesas triangle strips. Since all adaptively refined graphs are stillROAM graphs, adaptive triangulations are guaranteed to beconforming.

These methods demonstrate the performance benefitsof coarse grain LOD adaptation, but limited its application

to geometry caching. A particular contribution of thesemethods was to show that, even though the number oftriangles per frame increased by a factor of 50%, withrespect to ROAM, the overall rendering performance wasboosted by a factor of four due to the order of magnituderaw performance increase of the rendering interface.

5.3 Combining Regular and Irregular Triangulations

BDAM [7], P-BDAM [8], and HyperBlock-QuadTIN [30]generalized the caching approach by combining regularand irregular triangulations in the same GPU friendlyframework. The main insight of these methods is toseparate the coarse topology of the multiresolution method,managed using semi-regular fine geometry of the objects,managed using triangulations. In other words, the task ofthe multiresolution structure is to generate adaptive regularpartitions of the terrain domain using data independenttechniques, while the task of the geometry is to approximatethe data inside the partition with a fixed triangle count meshwith appropriate boundary constraints.

HyperBlock-QuadTIN.QuadTIN [44] is an efficientquadtree-based triangulation approach to irregular inputpoint sets with improved storage cost and feature adaptivesampling resolution. It preserves a regular quadtreemultiresolution hierarchy over the irregular input data set(see Section 4.1). HyperBlock-QuadTIN [30] extends thebasic QuadTIN [44] method by creating a coarse grainedtree structure of blocks that store different triangulationlevels. Similar to the clustering performed by RUSTIC[47] and CABTT [31] on ROAM hierarchies but with theadditional advantage of direct support of irregular pointsets. The construction process starts by a full QuadTINhierarchy which is then clustered into fixed size blocks bytraversing it coarse to fine. At run-time, the coarse blockhierarchy is traversed, and resolution levels are selected ona block-by-block basis. A global crack-free triangulationis ensured by adjusting the selected block levels so thatthey meet restricted quadtree constraints. A simplifiedillustration of an example of restricted quadtree blocks ofHyperBlock-QuadTIN [30] is given in Figure 26.

Fig. 26 Adaptive elevation grid and the corresponding LOD hyper-blocks of levels 1 and 2.

Page 13: 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti …00000000-2d84-4b92-0000-0000445d2ab2/... · Survey on Semi-Regular Multiresolution Models for Interactive ... Survey on semi-regular

Survey on semi-regular multiresolution models for interactive terrain rendering 13

Batched Dynamic Adaptive Meshes (BDAM).The BDAMapproach [7] seamlessly combines the benefits of TINs andrestricted quadtree triangulation in a single data structure formultiresolution terrain modeling. BDAM is a specializationof the more general Batched Multi-Triangulation framework[9]. It is based on the idea of exploiting the partitioning in-duced by a recursive subdivision of the input domain in ahi-erarchy of right triangleclusters to generate a coarse grainedmultiresolution structure. The partitioning consists of a for-est of triangle bin-trees (see also Section 4.2) covering theinput domain.

The partitioning consists of replacing a triangular regionσ with two triangular regions obtained by splittingσ at themidpoint of its longest edge [51,52]. To guarantee that aconforming mesh is always generated after a bisection, thetwo triangular regions sharingσ ’s longest edge are split atthe same time. These pairs of triangular regions are calleddiamondsand cover a square. The dependency graph encod-ing the multiresolution structure is thus a DAG with at mosttwo parents and at most four children per node (conceptuallythe same as in [34]).

This structure has the important property that, by selec-tively refining or coarsening it on a diamond by diamondbasis, it is possible to extract conforming variable resolutionmesh representations. BDAM exploits this property to con-struct a coarse grained LOD structure. This is done by as-sociating to each triangle region s a small triangle patch, upto a given triangle count, of the portion of the surface con-tained in it. Each patch is constructed so that vertices alongthe longest edge of the region are kept fixed during a dia-mond coarsening operation (or, equivalently, so that verticesalong the shortest edge are kept fixed when refining). In thisway, it is ensured that each mesh composed by a collectionof small triangle patches arranged as a triangle bin-tree gen-erates a globally correct and conforming triangulation (seeFigure 27).

a)

b)level i

c)level i−1

Fig. 27 a) BDAM triangle clusters of a diamond structure. Coarseningof two diamonds in b) to one in c) with coarsening vertices along theshared boundary (in yellow). Highlighted vertices (in red) shared withneighboring diamonds remain unchanged.

At run-time, the LOD is chosen by a triangle bin-tree re-finement over the triangle patches (based on saturated error[7,8] or incremental refinement based on a dual queue tech-

nique [9]). The selection cost is thus amortized over patchesof thousands of triangles.

The highest resolution triangle patches sample the inputdata at a matching resolution, while coarser level patchescontain TINs constructed by constrained edge-collapse sim-plification of child patches. In a preprocess, simplification iscarried out fine-to-coarse level-by-level, and independentlyfor each diamond. The whole simplification process is inher-ently massively parallel, because the grain of the individualtask is very fine and synchronization is required only at thecompletion of each bin-tree level (see also Figure 28).

Fig. 28 Construction of a BDAM through a sequence of (parallel) sim-plification and marking steps. Each triangle represents a terrain patchcomposed by many triangles, as in Figure 27.

5.4 4-8 Mesh Cluster Hierarchies

An approach similar to BDAM, but described in terms of a4-8 mesh hierarchy and optimized for regular grids is intro-duced in [28]. The authors remark that, with current ren-dering rates, it is now possible to render adaptive sceneswith triangles that have a projected size of one or few pix-els. At this point, it is no longer desirable to make trian-gles nonuniform in screen space due to variations in sur-face roughness, since this will only lead to sub-pixel trian-gles and thus to artifacts. The authors therefore rewrite theBDAM approach in terms of regular grids, replacing geo-metric patch simplification with low-pass filtering. In ad-dition, while the original BDAM work encoded the hierar-chy with triangle bin-trees, this work explicitly encodes thegraph of diamonds, and incrementally refines and coarsensit using ROAM’s dual queue incremental method. Anothercontribution of the work is that geometry and texture arehandled in the same framework. That is, both geometry andtextures are treated as small regular grids, called tiles, de-fined for each diamond in the hierarchy. Each grid corre-sponds to two patches sharing the main diagonal. The rela-tive density of the grids are adjusted to maintain a fixed ratioof texels per triangle.

6 LOD Error Metric

In this section we review the major error metrics that havebeen proposed for the discussed terrain triangulation algo-rithms.

Page 14: 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti …00000000-2d84-4b92-0000-0000445d2ab2/... · Survey on Semi-Regular Multiresolution Models for Interactive ... Survey on semi-regular

14 Renato Pajarola, Enrico Gobbetti

6.1 Object-Space Approximation Error

To render deformed parametric surfaces, several recursivesubdivision criteria are given in [62] that take intoaccount local curvature, intersection of surfaces, andsilhouette boundaries. While these subdivision criteria arenot directly applicable to terrain height-fields, the localcurvature criterion, or flatness, is similar to other geometricapproximation error metrics used for terrain triangulation.

The approximation error proposed in [58] is the verticaldistance of a removed vertex with respect to its linear inter-polation provided by the parent node as shown in Figure 29.The error of vertex B is its vertical distance to the average el-evation of A and C. An example of mergible nodes, with re-spect to Section 4.1, is given in Figure 29. Given that the ap-proximation error of all removed vertices (outlined points inFigure 29-b) is within the given tolerance, and given that noother neighboring nodes violate the restricted quadtree con-straint, the nodes and triangles of Figure 29-a can be mergedinto the larger node Figure 29-b.

10

Figure 25. The error of vertex B is its vertical distance to theaverage elevation of A and C. An example of mergiblenodes, with respect to Section 3.2, is given in Figure 25.Given that the approximation error of all removed vertices(outlined points in Figure 25-b) is within the given toler-ance, and given that no other neighboring nodes violate therestricted quadtree constraint, the nodes and triangles ofFigure 25-a can be merged into the larger node Figure 25-b.

FIGURE 25. Initial four leaf nodes shown in a) that aremerged in b) with the outlined points denoting the removedvertices in the merged node.

A major problem of the proposed bottom-up quadtreeinitialization in [SS92] is the computation of the approxima-tion error metric. While the vertical distance of a removedvertex (B in Figure 25) with respect to its linear interpola-tion (line between A and C in Figure 25) in the immediateparent node may be below a given error threshold !, it is notclear that this removed vertex is within ! distance to thefinal result of an iterative bottom-up merging process. Asshown for a 2D example in Figure 26, this error metric is notmonotonic. In fact, the resulting simplified surface based onthis method does not interpolate the removed vertices withina bounded distance.

However, the top-down triangulation approach in [SS92]computes the distance to the original surface for each vertexwith respect to the current adaptive restricted quadtree sur-face approximation. Therefore, no accumulation of errorsbeyond the given threshold ! can occur, and the recon-structed surface map is a correct !-approximation.

FIGURE 26. Merging of nodes satisfying the approximationerror threshold locally may result in intolerable largeaccumulated errors with respect to the final result.

A similar vertical distance measure has been used in[EKT01] and [Paj98a], modified to satisfy the monotonicityrequirement outlined in [DWS+97]. However, in contrast to[EKT01], and also [DWS+97], which define the error metricon triangles, the RQT approach [Paj98a] defines the errormetric on vertices. If precomputed per triangle it is straight

forward to make the error metric monotonic, setting it to themaximum distance of vertices within the domain of the tri-angle. However, a geometric approximation error attributehas to be stored for each triangle that can ever be formed bythe adaptive multiresolution triangulation method. This canbe quite a costly approach in terms of memory usage as thisnumber is several times larger than the number of input ele-ments (elevation values). The per-vertex error metric pro-posed in [Paj98a] eliminates this memory cost.

It has been observed in [Paj98a, Paj98b] that for object-space geometric error metrics the dependency graph shownin Figure 11 can be encoded into the error metric itself by atechnique known as error saturation. As demonstrated inFigure 27-a, the selection of a particular vertex P (blacksquare) due to its error value " = 9, exceeding the allowedtolerance ! = 5, causes several forced triangle splits (dashedgrey lines). To avoid such forced splits, error values arepropagated and maximized along the dependency graph, asshown in Figure 27-b. This error saturation is performed inthe preprocess: Each vertex stores the maximum value of allpropagated errors and its own computed error, and propa-gates this maximum further along the dependency graph.This preprocess can be implemented by a simple traversalover the grid-digital elevation values. Therefore, a fast top-down selection of vertices according to their saturated errormetric directly yields an adaptive and matching triangula-tion of a restricted quadtree, without the need of enforcingany quadtree constraints, forced splits or resolving depen-dency relations. This error saturation techniques has alsobeen observed in [GRW00] and can be applied in variousways to enforce constraints on multiresolution hierarchiessuch as topology preservation in isosurface extraction[GP00].

FIGURE 27. Initial error metric shown in a) for selectedvertices, white vertices are below and black vertices abovethe error threshold !=5. Forced splits are indicated withdashed grey lines. Propagation of error saturation shown inb) for the vertex causing the forced splits.

Other geometric distance metrics, instead of the verticaloffset measure, must be treated in a similar way to preservemonotonicity for an efficient output sensitive top-downadaptive mesh refinement approach.

An object-space geometric approximation error metric isdefined in [DWS+97] by calculating for each triangle t in thebin-tree hierarchy the thickness "t of a bounding wedgie thatencloses all children of its subtree as shown in Figure 28.This measure bounds the maximal deviation of a simplifiedmesh with respect to the full resolution input data, however,has to be computed and stored for every triangle that can

a) b)

A

B

C

allowed error tolerance !

accumulatedapproximation error "

dd/2

d/4d/8

a)6 67

76

9

2

47 3

b)

10

Figure 25. The error of vertex B is its vertical distance to theaverage elevation of A and C. An example of mergiblenodes, with respect to Section 3.2, is given in Figure 25.Given that the approximation error of all removed vertices(outlined points in Figure 25-b) is within the given toler-ance, and given that no other neighboring nodes violate therestricted quadtree constraint, the nodes and triangles ofFigure 25-a can be merged into the larger node Figure 25-b.

FIGURE 25. Initial four leaf nodes shown in a) that aremerged in b) with the outlined points denoting the removedvertices in the merged node.

A major problem of the proposed bottom-up quadtreeinitialization in [SS92] is the computation of the approxima-tion error metric. While the vertical distance of a removedvertex (B in Figure 25) with respect to its linear interpola-tion (line between A and C in Figure 25) in the immediateparent node may be below a given error threshold !, it is notclear that this removed vertex is within ! distance to thefinal result of an iterative bottom-up merging process. Asshown for a 2D example in Figure 26, this error metric is notmonotonic. In fact, the resulting simplified surface based onthis method does not interpolate the removed vertices withina bounded distance.

However, the top-down triangulation approach in [SS92]computes the distance to the original surface for each vertexwith respect to the current adaptive restricted quadtree sur-face approximation. Therefore, no accumulation of errorsbeyond the given threshold ! can occur, and the recon-structed surface map is a correct !-approximation.

FIGURE 26. Merging of nodes satisfying the approximationerror threshold locally may result in intolerable largeaccumulated errors with respect to the final result.

A similar vertical distance measure has been used in[EKT01] and [Paj98a], modified to satisfy the monotonicityrequirement outlined in [DWS+97]. However, in contrast to[EKT01], and also [DWS+97], which define the error metricon triangles, the RQT approach [Paj98a] defines the errormetric on vertices. If precomputed per triangle it is straight

forward to make the error metric monotonic, setting it to themaximum distance of vertices within the domain of the tri-angle. However, a geometric approximation error attributehas to be stored for each triangle that can ever be formed bythe adaptive multiresolution triangulation method. This canbe quite a costly approach in terms of memory usage as thisnumber is several times larger than the number of input ele-ments (elevation values). The per-vertex error metric pro-posed in [Paj98a] eliminates this memory cost.

It has been observed in [Paj98a, Paj98b] that for object-space geometric error metrics the dependency graph shownin Figure 11 can be encoded into the error metric itself by atechnique known as error saturation. As demonstrated inFigure 27-a, the selection of a particular vertex P (blacksquare) due to its error value " = 9, exceeding the allowedtolerance ! = 5, causes several forced triangle splits (dashedgrey lines). To avoid such forced splits, error values arepropagated and maximized along the dependency graph, asshown in Figure 27-b. This error saturation is performed inthe preprocess: Each vertex stores the maximum value of allpropagated errors and its own computed error, and propa-gates this maximum further along the dependency graph.This preprocess can be implemented by a simple traversalover the grid-digital elevation values. Therefore, a fast top-down selection of vertices according to their saturated errormetric directly yields an adaptive and matching triangula-tion of a restricted quadtree, without the need of enforcingany quadtree constraints, forced splits or resolving depen-dency relations. This error saturation techniques has alsobeen observed in [GRW00] and can be applied in variousways to enforce constraints on multiresolution hierarchiessuch as topology preservation in isosurface extraction[GP00].

FIGURE 27. Initial error metric shown in a) for selectedvertices, white vertices are below and black vertices abovethe error threshold !=5. Forced splits are indicated withdashed grey lines. Propagation of error saturation shown inb) for the vertex causing the forced splits.

Other geometric distance metrics, instead of the verticaloffset measure, must be treated in a similar way to preservemonotonicity for an efficient output sensitive top-downadaptive mesh refinement approach.

An object-space geometric approximation error metric isdefined in [DWS+97] by calculating for each triangle t in thebin-tree hierarchy the thickness "t of a bounding wedgie thatencloses all children of its subtree as shown in Figure 28.This measure bounds the maximal deviation of a simplifiedmesh with respect to the full resolution input data, however,has to be computed and stored for every triangle that can

a) b)

A

B

C

allowed error tolerance !

accumulatedapproximation error "

dd/2

d/4d/8

a)6 67

76

9

2

47 3

b)

a) b)

Fig. 29 Initial four leaf nodes shown in a) that are merged in b) withthe outlined points denoting the removed vertices in the merged node.

A major problem of the proposed bottom-up quadtreeinitialization in [58] is the computation of the approximationerror metric. While the vertical distance of a removed vertex(B in Figure 29) with respect to its linear interpolation (linebetween A and C in Figure 29) in the immediate parent nodemay be below a given error thresholdτ, it is not clear thatthis removed vertex is within t distance to the final result ofan iterative bottom-up merging process. As shown for a 2Dexample in Figure 30, this error metric is not monotonic. Infact, the resulting simplified surface based on this methoddoes not interpolate the removed vertices within a boundeddistance.

However, the top-down triangulation approach in [58]computes the distance to the original surface for each ver-tex with respect to the current adaptive restricted quadtreesurface approximation. Therefore, no accumulation of er-rors beyond the given thresholdτ can occur, and the recon-structed surface map is a correctτ-approximation.

A similar vertical distance measure has been used in [14]and [42], modified to satisfy the monotonicity requirementoutlined in [13]. However, in contrast to [14], and also [13],which define the error metric on triangles, the RQT approach[42] defines the error metric on vertices. If precomputed pertriangle it is straight forward to make the error metric mono-

10

Figure 25. The error of vertex B is its vertical distance to theaverage elevation of A and C. An example of mergiblenodes, with respect to Section 3.2, is given in Figure 25.Given that the approximation error of all removed vertices(outlined points in Figure 25-b) is within the given toler-ance, and given that no other neighboring nodes violate therestricted quadtree constraint, the nodes and triangles ofFigure 25-a can be merged into the larger node Figure 25-b.

FIGURE 25. Initial four leaf nodes shown in a) that aremerged in b) with the outlined points denoting the removedvertices in the merged node.

A major problem of the proposed bottom-up quadtreeinitialization in [SS92] is the computation of the approxima-tion error metric. While the vertical distance of a removedvertex (B in Figure 25) with respect to its linear interpola-tion (line between A and C in Figure 25) in the immediateparent node may be below a given error threshold !, it is notclear that this removed vertex is within ! distance to thefinal result of an iterative bottom-up merging process. Asshown for a 2D example in Figure 26, this error metric is notmonotonic. In fact, the resulting simplified surface based onthis method does not interpolate the removed vertices withina bounded distance.

However, the top-down triangulation approach in [SS92]computes the distance to the original surface for each vertexwith respect to the current adaptive restricted quadtree sur-face approximation. Therefore, no accumulation of errorsbeyond the given threshold ! can occur, and the recon-structed surface map is a correct !-approximation.

FIGURE 26. Merging of nodes satisfying the approximationerror threshold locally may result in intolerable largeaccumulated errors with respect to the final result.

A similar vertical distance measure has been used in[EKT01] and [Paj98a], modified to satisfy the monotonicityrequirement outlined in [DWS+97]. However, in contrast to[EKT01], and also [DWS+97], which define the error metricon triangles, the RQT approach [Paj98a] defines the errormetric on vertices. If precomputed per triangle it is straight

forward to make the error metric monotonic, setting it to themaximum distance of vertices within the domain of the tri-angle. However, a geometric approximation error attributehas to be stored for each triangle that can ever be formed bythe adaptive multiresolution triangulation method. This canbe quite a costly approach in terms of memory usage as thisnumber is several times larger than the number of input ele-ments (elevation values). The per-vertex error metric pro-posed in [Paj98a] eliminates this memory cost.

It has been observed in [Paj98a, Paj98b] that for object-space geometric error metrics the dependency graph shownin Figure 11 can be encoded into the error metric itself by atechnique known as error saturation. As demonstrated inFigure 27-a, the selection of a particular vertex P (blacksquare) due to its error value " = 9, exceeding the allowedtolerance ! = 5, causes several forced triangle splits (dashedgrey lines). To avoid such forced splits, error values arepropagated and maximized along the dependency graph, asshown in Figure 27-b. This error saturation is performed inthe preprocess: Each vertex stores the maximum value of allpropagated errors and its own computed error, and propa-gates this maximum further along the dependency graph.This preprocess can be implemented by a simple traversalover the grid-digital elevation values. Therefore, a fast top-down selection of vertices according to their saturated errormetric directly yields an adaptive and matching triangula-tion of a restricted quadtree, without the need of enforcingany quadtree constraints, forced splits or resolving depen-dency relations. This error saturation techniques has alsobeen observed in [GRW00] and can be applied in variousways to enforce constraints on multiresolution hierarchiessuch as topology preservation in isosurface extraction[GP00].

FIGURE 27. Initial error metric shown in a) for selectedvertices, white vertices are below and black vertices abovethe error threshold !=5. Forced splits are indicated withdashed grey lines. Propagation of error saturation shown inb) for the vertex causing the forced splits.

Other geometric distance metrics, instead of the verticaloffset measure, must be treated in a similar way to preservemonotonicity for an efficient output sensitive top-downadaptive mesh refinement approach.

An object-space geometric approximation error metric isdefined in [DWS+97] by calculating for each triangle t in thebin-tree hierarchy the thickness "t of a bounding wedgie thatencloses all children of its subtree as shown in Figure 28.This measure bounds the maximal deviation of a simplifiedmesh with respect to the full resolution input data, however,has to be computed and stored for every triangle that can

a) b)

A

B

C

allowed error tolerance !

accumulatedapproximation error "

dd/2

d/4d/8

a)6 67

76

9

2

47 3

b)

Fig. 30 Merging of nodes satisfying the approximation error thresholdlocally may result in intolerable large accumulated errors with respectto the final result.

tonic, setting it to the maximum distance of vertices withinthe domain of the triangle. However, a geometric approxi-mation error attribute has to be stored for each triangle thatcan ever be formed by the adaptive multiresolution triangu-lation method. This can be quite a costly approach in termsof memory usage as this number is several times larger thanthe number of input elements (elevation values). The per-vertex error metric proposed in [42] eliminates this memorycost.

It has been observed in [42,43] and [41] that forobject-space geometric error metrics the dependencygraph shown in Figure 12 can be encoded into the errormetric itself by a technique known aserror saturation. Asdemonstrated in Figure 31-a, the selection of a particularvertex P (black square) due to its error valueε = 9,exceeding the allowed toleranceτ = 5, causes severalforced triangle splits (dashed grey lines). To avoid suchforced splits, error values are propagated and maximizedalong the dependency graph, as shown in Figure 31-b.This error saturationis performed in the preprocess: Eachvertex stores the maximum value of all propagated errorsand its own computed error, and propagates this maximumfurther along the dependency graph. This preprocess canbe implemented by a simple traversal over the grid-digitalelevation values. Therefore, a fast top-down selection ofvertices according to their saturated error metric directlyyields an adaptive and conforming triangulation of arestricted quadtree, without the need of enforcing anyquadtree constraints, forced splits or resolving dependencyrelations. This error saturation technique has also beenobserved in [22] and can be applied in various ways toenforce constraints on multiresolution hierarchies such astopology preservation in isosurface extraction [21].

10

Figure 25. The error of vertex B is its vertical distance to theaverage elevation of A and C. An example of mergiblenodes, with respect to Section 3.2, is given in Figure 25.Given that the approximation error of all removed vertices(outlined points in Figure 25-b) is within the given toler-ance, and given that no other neighboring nodes violate therestricted quadtree constraint, the nodes and triangles ofFigure 25-a can be merged into the larger node Figure 25-b.

FIGURE 25. Initial four leaf nodes shown in a) that aremerged in b) with the outlined points denoting the removedvertices in the merged node.

A major problem of the proposed bottom-up quadtreeinitialization in [SS92] is the computation of the approxima-tion error metric. While the vertical distance of a removedvertex (B in Figure 25) with respect to its linear interpola-tion (line between A and C in Figure 25) in the immediateparent node may be below a given error threshold !, it is notclear that this removed vertex is within ! distance to thefinal result of an iterative bottom-up merging process. Asshown for a 2D example in Figure 26, this error metric is notmonotonic. In fact, the resulting simplified surface based onthis method does not interpolate the removed vertices withina bounded distance.

However, the top-down triangulation approach in [SS92]computes the distance to the original surface for each vertexwith respect to the current adaptive restricted quadtree sur-face approximation. Therefore, no accumulation of errorsbeyond the given threshold ! can occur, and the recon-structed surface map is a correct !-approximation.

FIGURE 26. Merging of nodes satisfying the approximationerror threshold locally may result in intolerable largeaccumulated errors with respect to the final result.

A similar vertical distance measure has been used in[EKT01] and [Paj98a], modified to satisfy the monotonicityrequirement outlined in [DWS+97]. However, in contrast to[EKT01], and also [DWS+97], which define the error metricon triangles, the RQT approach [Paj98a] defines the errormetric on vertices. If precomputed per triangle it is straight

forward to make the error metric monotonic, setting it to themaximum distance of vertices within the domain of the tri-angle. However, a geometric approximation error attributehas to be stored for each triangle that can ever be formed bythe adaptive multiresolution triangulation method. This canbe quite a costly approach in terms of memory usage as thisnumber is several times larger than the number of input ele-ments (elevation values). The per-vertex error metric pro-posed in [Paj98a] eliminates this memory cost.

It has been observed in [Paj98a, Paj98b] that for object-space geometric error metrics the dependency graph shownin Figure 11 can be encoded into the error metric itself by atechnique known as error saturation. As demonstrated inFigure 27-a, the selection of a particular vertex P (blacksquare) due to its error value " = 9, exceeding the allowedtolerance ! = 5, causes several forced triangle splits (dashedgrey lines). To avoid such forced splits, error values arepropagated and maximized along the dependency graph, asshown in Figure 27-b. This error saturation is performed inthe preprocess: Each vertex stores the maximum value of allpropagated errors and its own computed error, and propa-gates this maximum further along the dependency graph.This preprocess can be implemented by a simple traversalover the grid-digital elevation values. Therefore, a fast top-down selection of vertices according to their saturated errormetric directly yields an adaptive and matching triangula-tion of a restricted quadtree, without the need of enforcingany quadtree constraints, forced splits or resolving depen-dency relations. This error saturation techniques has alsobeen observed in [GRW00] and can be applied in variousways to enforce constraints on multiresolution hierarchiessuch as topology preservation in isosurface extraction[GP00].

FIGURE 27. Initial error metric shown in a) for selectedvertices, white vertices are below and black vertices abovethe error threshold !=5. Forced splits are indicated withdashed grey lines. Propagation of error saturation shown inb) for the vertex causing the forced splits.

Other geometric distance metrics, instead of the verticaloffset measure, must be treated in a similar way to preservemonotonicity for an efficient output sensitive top-downadaptive mesh refinement approach.

An object-space geometric approximation error metric isdefined in [DWS+97] by calculating for each triangle t in thebin-tree hierarchy the thickness "t of a bounding wedgie thatencloses all children of its subtree as shown in Figure 28.This measure bounds the maximal deviation of a simplifiedmesh with respect to the full resolution input data, however,has to be computed and stored for every triangle that can

a) b)

A

B

C

allowed error tolerance !

accumulatedapproximation error "

dd/2

d/4d/8

a)6 67

76

9

2

47 3

b)

10

Figure 25. The error of vertex B is its vertical distance to theaverage elevation of A and C. An example of mergiblenodes, with respect to Section 3.2, is given in Figure 25.Given that the approximation error of all removed vertices(outlined points in Figure 25-b) is within the given toler-ance, and given that no other neighboring nodes violate therestricted quadtree constraint, the nodes and triangles ofFigure 25-a can be merged into the larger node Figure 25-b.

FIGURE 25. Initial four leaf nodes shown in a) that aremerged in b) with the outlined points denoting the removedvertices in the merged node.

A major problem of the proposed bottom-up quadtreeinitialization in [SS92] is the computation of the approxima-tion error metric. While the vertical distance of a removedvertex (B in Figure 25) with respect to its linear interpola-tion (line between A and C in Figure 25) in the immediateparent node may be below a given error threshold !, it is notclear that this removed vertex is within ! distance to thefinal result of an iterative bottom-up merging process. Asshown for a 2D example in Figure 26, this error metric is notmonotonic. In fact, the resulting simplified surface based onthis method does not interpolate the removed vertices withina bounded distance.

However, the top-down triangulation approach in [SS92]computes the distance to the original surface for each vertexwith respect to the current adaptive restricted quadtree sur-face approximation. Therefore, no accumulation of errorsbeyond the given threshold ! can occur, and the recon-structed surface map is a correct !-approximation.

FIGURE 26. Merging of nodes satisfying the approximationerror threshold locally may result in intolerable largeaccumulated errors with respect to the final result.

A similar vertical distance measure has been used in[EKT01] and [Paj98a], modified to satisfy the monotonicityrequirement outlined in [DWS+97]. However, in contrast to[EKT01], and also [DWS+97], which define the error metricon triangles, the RQT approach [Paj98a] defines the errormetric on vertices. If precomputed per triangle it is straight

forward to make the error metric monotonic, setting it to themaximum distance of vertices within the domain of the tri-angle. However, a geometric approximation error attributehas to be stored for each triangle that can ever be formed bythe adaptive multiresolution triangulation method. This canbe quite a costly approach in terms of memory usage as thisnumber is several times larger than the number of input ele-ments (elevation values). The per-vertex error metric pro-posed in [Paj98a] eliminates this memory cost.

It has been observed in [Paj98a, Paj98b] that for object-space geometric error metrics the dependency graph shownin Figure 11 can be encoded into the error metric itself by atechnique known as error saturation. As demonstrated inFigure 27-a, the selection of a particular vertex P (blacksquare) due to its error value " = 9, exceeding the allowedtolerance ! = 5, causes several forced triangle splits (dashedgrey lines). To avoid such forced splits, error values arepropagated and maximized along the dependency graph, asshown in Figure 27-b. This error saturation is performed inthe preprocess: Each vertex stores the maximum value of allpropagated errors and its own computed error, and propa-gates this maximum further along the dependency graph.This preprocess can be implemented by a simple traversalover the grid-digital elevation values. Therefore, a fast top-down selection of vertices according to their saturated errormetric directly yields an adaptive and matching triangula-tion of a restricted quadtree, without the need of enforcingany quadtree constraints, forced splits or resolving depen-dency relations. This error saturation techniques has alsobeen observed in [GRW00] and can be applied in variousways to enforce constraints on multiresolution hierarchiessuch as topology preservation in isosurface extraction[GP00].

FIGURE 27. Initial error metric shown in a) for selectedvertices, white vertices are below and black vertices abovethe error threshold !=5. Forced splits are indicated withdashed grey lines. Propagation of error saturation shown inb) for the vertex causing the forced splits.

Other geometric distance metrics, instead of the verticaloffset measure, must be treated in a similar way to preservemonotonicity for an efficient output sensitive top-downadaptive mesh refinement approach.

An object-space geometric approximation error metric isdefined in [DWS+97] by calculating for each triangle t in thebin-tree hierarchy the thickness "t of a bounding wedgie thatencloses all children of its subtree as shown in Figure 28.This measure bounds the maximal deviation of a simplifiedmesh with respect to the full resolution input data, however,has to be computed and stored for every triangle that can

a) b)

A

B

C

allowed error tolerance !

accumulatedapproximation error "

dd/2

d/4d/8

a)6 67

76

9

2

47 3

b)a) b)

Fig. 31 Initial error metric shown in a) for selected vertices, whitevertices are below and black vertices above the error thresholdτ = 5.Forced splits are indicated with dashed grey lines. Propagation of errorsaturation shown in b) for the vertex causing the forced splits.

Page 15: 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti …00000000-2d84-4b92-0000-0000445d2ab2/... · Survey on Semi-Regular Multiresolution Models for Interactive ... Survey on semi-regular

Survey on semi-regular multiresolution models for interactive terrain rendering 15

Other geometric distance metrics, instead of the verti-cal offset measure, must be treated in a similar way to pre-serve monotonicity for an efficient output sensitive top-downadaptive mesh refinement approach.

An object-space geometric approximation error metricis defined in [13] by calculating for each trianglet in thebin-tree hierarchy the thicknessεt of a boundingwedgiethatencloses all children of its subtree as shown in Figure 32.This measure bounds the maximal deviation of a simplifiedmesh with respect to the full resolution input data, however,has to be computed and stored for every triangle that canpossibly be defined by the multiresolution hierarchy. Thisbasic object-space approximation bound is input to a view-dependent image-space error metric as discussed in the fol-lowing section.

11

possibly be defined by the multiresolution hierarchy. Thisbasic object-space approximation bound is input to a view-dependent image-space error metric as discussed in the fol-lowing section.

FIGURE 28. The thickness of a bounding wedgie defines anobject-space geometric approximation error.

5.2 Image-Space Approximation ErrorA static object-space geometric error metric is not sufficientto adaptively simplify terrain for perspective rendering. Thisis because far away regions must be simplified more aggres-sively than nearby areas. As this depends on the observer’slocation and changes continually, the error metric must bedefined dynamically and view-dependently.

In [LKR+96] the definition of an efficient view-depen-dent image-space error metric has been proposed that deter-mines removal or inclusion of vertices for a givenviewpoint. As illustrated in Figure 29, the basic idea of thiserror metric is that triangle pairs can be merged if thechange in slope !v at the removed base vertex v projectedinto screen space is smaller than a given threshold ". Theline segment between the removed base vertex vand its linear interpolation is perspectivelyprojected onto the screen space viewing plane as #v. If #v issmaller than the tolerance " then the vertex v can beremoved and the corresponding triangle pairs merged. Notethat the projected delta segment #v is not defined withrespect to the highest resolution mesh or the current LODmesh but rather based on the adjacent vertices vl and vr ofthe next lower resolution in the quadtree. Therefore,although hardly noticeable in practice, the metric as definedin [LKR+96] suffers from the same limitations as the errorcomputation of the bottom-up triangulation method pre-sented in [SS92] and does not provide a guaranteed errorbound on the final triangulation. For this, the error metricmust either be saturated correctly, or defined and maximizedon each triangle with respect to the full resolution mesh.

FIGURE 29. Vertical distance $between removed basevertex v and its linear interpolation v.

For efficient block-based mesh simplification, the view-dependent image-space error metric is extended to entirequadtree blocks in [LKR+96]. In particular, if for a quadtreeregion R the maximum delta projection of all higher resolu-tion vertices within R is smaller than the threshold " thenthey can be ignored. For an axis-aligned bounding box of aquadtree block R and given viewing parameters, one cancompute the smallest elevation delta !l and largest !h of that

box that when projected onto screen may exceed ". There-fore, if the maximum vertical error !max of all vertices is smaller than !l then R can be replaced by a lower LODblock, and if !max is larger than !h then R has to be refinedinto smaller blocks. Otherwise the screen space projectederrors #v of all vertices have to be computed and com-pared to " individually.

The thickness !t of a bounding wedgie as introduced in[DWS+97] (see Figure 28) can be used to estimate the maxi-mal image-space distortion #t of a triangle t for view-depen-dent simplification similar to the approach presented in[LKR+96]. Consequently, for any given triangulation T, itsimage-space distortion can be bounded by the maximumprojected length #t of !t of all triangles . Additionallyto this image-space distortion error metric, [DWS+97] pro-poses several other mesh refinement and simplificationmeasures such as: backface detail reduction, surface normaldistortion, texture-coordinate distortion, silhouette preserva-tion, view frustum culling, atmospheric or depth attenua-tion, and region of interest.

In [LP01] and [Ger03] it has been observed that alsoview-dependent error metrics can, in a sense, conservativelybe saturated similar to [Paj98a, Paj98b] for object-spacemeasures. This works if the image-space error metric #v of avertex v is based on a static geometric approximation error!v which is perspectively projected into image-space(divided by dv given the distance dv of the vertex v to theviewer). For this to work, additionally to !v, a conservativebounding sphere radius rv is needed for each vertex. Thisattribute rv defines a nested bounding sphere hierarchy onthe restricted quadtree vertex dependency graph [LP01]. Avertex v will be selected for the current LOD triangulation if itsconservative image-space error is larger than thegiven threshold ".

In SMART [BPS04] the same basic error metric and view-dependent vertex selection criterion gives rise to a"-sphere defined for each vertex by the radius .Hence vertex selection is simplified to all vertices whose "-spheres contain the viewpoint. Further it is elaborated in[BPS04] that a so called "-save-distance can dynamically bemaintained, which bounds for each vertex the deviation of theviewpoint that does not change the LOD level of the vertex.This concept allows for optimized LOD computations as wellas efficient vertex caching, and results in significantlyimproved LOD meshing and rendering performance.

6. Cluster TriangulationsThe impressive improvement of graphics hardware in termsof computation and communication speed is reshaping thereal-time rendering domain. A number of performance andarchitectural aspects have a major impact on the design ofreal-time rendering methods.

Todays GPUs are able to sustain speeds of hundreds ofmillions of triangles per second; this fact has two importantimplications for real-time rendering methods. First of all, to

!t

!v v v–=v vl vr+( ) 2⁄=

v

!v

vr

vl

v

v R%

v R%

t T%

#v!

dv rv–---------------=

dv!v"---- rv+<

rv" !v

"---- rv+=

Fig. 32 The thickness of a bounding wedgie defines an object-spacegeometric approximation error.

6.2 Image-Space Approximation Error

A static object-space geometric error metric is not sufficientto adaptively simplify terrain for perspective rendering. Thisis because far away regions must be simplified more aggres-sively than nearby areas. As this depends on the observerslocation and changes continually, the error metric must bedefined dynamically and view-dependently.

In [34] the definition of an efficient view-dependentimage-space error metric has been proposed that determinesremoval or inclusion of vertices for a given viewpoint. Asillustrated in Figure 33, the basic idea of this error metricis that triangle pairs can be merged if the change in slopeεv at the removed base vertexv projected into screen spaceis smaller than a given thresholdτ. The line segmentε = v− v between the removed base vertexv and its linearinterpolation ¯v = (vl + vr)/2 is perspectively projectedonto the screen space viewing plane asρv. If ρv is smallerthan the toleranceτ then the vertexv can be removed andthe corresponding triangle pairs merged. Note that theprojected delta segmentρv is not defined with respect tothe highest resolution mesh or the current LOD meshbut rather based on the adjacent verticesvl and vr of thenext lower resolution in the quadtree. Therefore, althoughhardly noticeable in practice, the metric as defined in [34]suffers from the same limitations as the error computationof the bottom-up triangulation method presented in [58]and does not provide a guaranteed error bound on thefinal triangulation. For this, the error metric must eitherbe saturated correctly, or defined and maximized on eachtriangle with respect to the full resolution mesh.

11

possibly be defined by the multiresolution hierarchy. Thisbasic object-space approximation bound is input to a view-dependent image-space error metric as discussed in the fol-lowing section.

FIGURE 28. The thickness of a bounding wedgie defines anobject-space geometric approximation error.

5.2 Image-Space Approximation ErrorA static object-space geometric error metric is not sufficientto adaptively simplify terrain for perspective rendering. Thisis because far away regions must be simplified more aggres-sively than nearby areas. As this depends on the observer’slocation and changes continually, the error metric must bedefined dynamically and view-dependently.

In [LKR+96] the definition of an efficient view-depen-dent image-space error metric has been proposed that deter-mines removal or inclusion of vertices for a givenviewpoint. As illustrated in Figure 29, the basic idea of thiserror metric is that triangle pairs can be merged if thechange in slope !v at the removed base vertex v projectedinto screen space is smaller than a given threshold ". Theline segment between the removed base vertex vand its linear interpolation is perspectivelyprojected onto the screen space viewing plane as #v. If #v issmaller than the tolerance " then the vertex v can beremoved and the corresponding triangle pairs merged. Notethat the projected delta segment #v is not defined withrespect to the highest resolution mesh or the current LODmesh but rather based on the adjacent vertices vl and vr ofthe next lower resolution in the quadtree. Therefore,although hardly noticeable in practice, the metric as definedin [LKR+96] suffers from the same limitations as the errorcomputation of the bottom-up triangulation method pre-sented in [SS92] and does not provide a guaranteed errorbound on the final triangulation. For this, the error metricmust either be saturated correctly, or defined and maximizedon each triangle with respect to the full resolution mesh.

FIGURE 29. Vertical distance $between removed basevertex v and its linear interpolation v.

For efficient block-based mesh simplification, the view-dependent image-space error metric is extended to entirequadtree blocks in [LKR+96]. In particular, if for a quadtreeregion R the maximum delta projection of all higher resolu-tion vertices within R is smaller than the threshold " thenthey can be ignored. For an axis-aligned bounding box of aquadtree block R and given viewing parameters, one cancompute the smallest elevation delta !l and largest !h of that

box that when projected onto screen may exceed ". There-fore, if the maximum vertical error !max of all vertices is smaller than !l then R can be replaced by a lower LODblock, and if !max is larger than !h then R has to be refinedinto smaller blocks. Otherwise the screen space projectederrors #v of all vertices have to be computed and com-pared to " individually.

The thickness !t of a bounding wedgie as introduced in[DWS+97] (see Figure 28) can be used to estimate the maxi-mal image-space distortion #t of a triangle t for view-depen-dent simplification similar to the approach presented in[LKR+96]. Consequently, for any given triangulation T, itsimage-space distortion can be bounded by the maximumprojected length #t of !t of all triangles . Additionallyto this image-space distortion error metric, [DWS+97] pro-poses several other mesh refinement and simplificationmeasures such as: backface detail reduction, surface normaldistortion, texture-coordinate distortion, silhouette preserva-tion, view frustum culling, atmospheric or depth attenua-tion, and region of interest.

In [LP01] and [Ger03] it has been observed that alsoview-dependent error metrics can, in a sense, conservativelybe saturated similar to [Paj98a, Paj98b] for object-spacemeasures. This works if the image-space error metric #v of avertex v is based on a static geometric approximation error!v which is perspectively projected into image-space(divided by dv given the distance dv of the vertex v to theviewer). For this to work, additionally to !v, a conservativebounding sphere radius rv is needed for each vertex. Thisattribute rv defines a nested bounding sphere hierarchy onthe restricted quadtree vertex dependency graph [LP01]. Avertex v will be selected for the current LOD triangulation if itsconservative image-space error is larger than thegiven threshold ".

In SMART [BPS04] the same basic error metric and view-dependent vertex selection criterion gives rise to a"-sphere defined for each vertex by the radius .Hence vertex selection is simplified to all vertices whose "-spheres contain the viewpoint. Further it is elaborated in[BPS04] that a so called "-save-distance can dynamically bemaintained, which bounds for each vertex the deviation of theviewpoint that does not change the LOD level of the vertex.This concept allows for optimized LOD computations as wellas efficient vertex caching, and results in significantlyimproved LOD meshing and rendering performance.

6. Cluster TriangulationsThe impressive improvement of graphics hardware in termsof computation and communication speed is reshaping thereal-time rendering domain. A number of performance andarchitectural aspects have a major impact on the design ofreal-time rendering methods.

Todays GPUs are able to sustain speeds of hundreds ofmillions of triangles per second; this fact has two importantimplications for real-time rendering methods. First of all, to

!t

!v v v–=v vl vr+( ) 2⁄=

v

!v

vr

vl

v

v R%

v R%

t T%

#v!

dv rv–---------------=

dv!v"---- rv+<

rv" !v

"---- rv+=

Fig. 33 Vertical distanceεv between removed base vertexv and itslinear interpolation ¯v.

For efficient block-based mesh simplification, the view-dependent image-space error metric is extended to entirequadtree blocks in [34]. In particular, if for a quadtree re-gion R the maximum delta projection of all higher resolu-tion vertices withinR is smaller than the thresholdτ thenthey can be ignored. For an axis-aligned bounding box ofa quadtree blockR and given viewing parameters, one cancompute the smallest elevation deltaεl and largestεh of thatbox that when projected onto screen may exceedτ. There-fore, if the maximum vertical errorεmax of all verticesv∈Ris smaller thanεl thenR can be replaced by a lower LODblock, and ifεmax is larger thanεh thenR has to be refinedinto smaller blocks. Otherwise the screen space projectederrorsρv of all verticesv∈Rhave to be computed and com-pared toτ individually.

The thicknessεt of a boundingwedgieas introduced in[13] (see Figure 32) can be used to estimate the maximalimage-space distortionρt of a trianglet for view-dependentsimplification similar to the approach presented in [34].Consequently, for any given triangulationT, its image-spacedistortion can be bounded by the maximum projectedlength ρt of et of all trianglest ∈ T. Additionally to thisimage-space distortion error metric, [13] proposes severalother mesh refinement and simplification measures suchas: backface detail reduction, surface normal distortion,texture-coordinate distortion, silhouette preservation, viewfrustum culling, atmospheric or depth attenuation, andregion of interest.

In [35,36] and [20] it has been observed that also view-dependent error metrics can, in a sense, conservatively besaturated similar to [42,42] for object-space measures. Thisworks if the image-space error metricρv of a vertexv isbased on a static geometric approximation errorεv whichis perspectively projected into image-space (divided bydvgiven the distancedv of the vertexv to the viewer). For thisto work, additionally toεv, a conservative bounding sphereradiusrv is needed for each vertex. This attributerv defines anested bounding sphere hierarchy on the restricted quadtreevertex dependency graph [35,36]. A vertexv will be selectedfor the current LOD triangulation if its conservative image-space errorρv = ε

dv−rvis larger than the given thresholdτ.

In SMART [5] the same basic error metric and view-dependent vertex selection criteriondv < εv

τ+ rv gives rise to

aτ-sphere defined for each vertex by the radiusrτv = εv

τ+ rv.

Hence vertex selection is simplified to all vertices whose t-spheres contain the viewpoint. Further it is elaborated in [5]that a so calledτ-save-distancecan dynamically be main-

Page 16: 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti …00000000-2d84-4b92-0000-0000445d2ab2/... · Survey on Semi-Regular Multiresolution Models for Interactive ... Survey on semi-regular

16 Renato Pajarola, Enrico Gobbetti

tained, which bounds for each vertex the deviation of theviewpoint that does not change the LOD level of the ver-tex. This concept allows for optimized LOD computations aswell as efficient vertex caching, and results in significantlyimproved LOD meshing and rendering performance.

6.3 Discussion

The error metric of triangle bin-tree approaches is defined onthe triangles in the binary hierarchy. Due to the property ofa binary tree having roughly 2n nodes forn leaf nodes anda triangle mesh having 2n triangles forn vertices, storageof a triangle based error metric requires maintaining about4n error values. In contrast, the quadtree based approachesdefine the error metric on vertices and only requiren errorvalues to be stored. Simple geometric approximation errormetrics based on vertical displacement can be found in [58],[14], [42] and [19]. More sophisticated view-dependent er-ror metrics such as screen space distortion are discussed in[34] and [13], and saturated view-dependent error metricsare presented in [35] and [5]. Projection of a global geo-metric approximation error metric into image-space will bemost efficient for large scale terrain visualization in practice.In [13] it was observed that an error metric must be hierar-chically monotonic to guaranteeε-bounded approximations.RTIN [14] and RQT [42] in object-space as well as SOAR[35,36] and SMART [5] in image-space provide such mono-tonic geometric error metrics.

The type or error metric and error representation has thusimportant consequences also on structure size and efficiency.Arguably the most space efficient representation of a mul-tiresolution triangulation of a height-field is an implicit hi-erarchical structure, embedded in an array, with a saturatederror metric defined on the grid of elevation values as pro-posed in [42] and [35]. This representation does not requireany information to be stored that describes the structure ofthe multiresolution hierarchy, and only needs the elevationand error values for each grid point. Furthermore, such anelevation grid can also efficiently be partitioned and storedon a remote server as shown in [42] and [43], or mappedlinearly to disk as demonstrated in [35]. However, this fullyimplicit representation is only possible if the tree is com-plete, i.e., if the input data is a uniformly sampled square.

Other related techniques fot the rfficient representationand compression of a triangle bin-tree hierarchy isdiscussed in [14] and [19]. However, both approaches usetriangle based error metrics which are space inefficientdue to the large number of error values that have to bestored. Efficient LOD-based spatial access and triangulationis discussed in [42], and extraction of an adaptivetriangulation in a sequentially stored and compressedtriangle bin-tree representation is considered in [19]. Veryefficient representations are further achieved in clusterbased triangulation approaches such as [7,7,63,28], sinceerrors and other structural information is only stored percluster.

7 System Issues

In this section we want to briefly review a few system anddatabase level aspects of terrain visualization in conjunctionwith the LOD triangulation and rendering algorithms dis-cussed so far. This includes topics such as dynamic scenemanagement, progressive or incremental meshing, data stor-age and retrieval, or client-server architectures that are im-portant for large scale real-time terrain visualization sys-tems.

7.1 Dynamic Scene Management

Most of the discussed real-time terrain triangulation and vi-sualization algorithms assume the entire terrain data set tobe accessed directly in virtual memory and do not explic-itly consider dynamically loading terrain from disk or froma database server. Also most algorithms can dynamicallyextract a particular LOD triangle mesh from a hierarchicalmultiresolution data structure holding the terrain data.

Fully main-memory resident approaches generally gen-erate a space-LOD query for each rendered frame given thecurrent view frustum and LOD tolerance threshold t settings.This query is generally answered using the multiresolutionterrain triangulation hierarchy. Efficient recursive top-downLOD selection and triangulation algorithms for real-time ter-rain rendering are presented in [58,34,13,42,14], of which[34] and [42] address the issue of out-of-core data manage-ment and are discussed in the following section.

Specifically designed for fast real-time LOD triangula-tion and rendering in main memory is the system presentedin [13] (ROAM). As discussed in Section 4.2, the run-timetriangulation algorithm of ROAM is based on a greedy algo-rithm that maintains two priority queues, the split queueQsand the merge queueQm. For each frame the priority queuesQm andQs are used to incrementally simplify and refine thecurrent triangle mesh to reach a triangulation that satisfiesthe given error thresholdt. The priorities ofQs andQm arebased on the error metric defined on the triangles.

The ROAM terrain rendering system [13] is designed tosupport guaranteed frame rates in an interactive visualiza-tion application. Despite the maintenance of priority queuesat run-time, which requires orderO(nlogn) cost for eachupdate, the method is efficient as it is output sensitive (formonotonic error metrics) and because the triangulation canbe updated incrementally between rendered frames. In addi-tion to the basic algorithms, a couple of system level issuesare discussed as well such as reducing the amount of CPUtime spent on updating priorities between frames, or limit-ing the number of split and merge operations to bound thetriangle count and guarantee consistent frame rates.

Clustered triangulation approaches typically adapt theirrepresentation by traversing an in-core structure that repre-sents the coarse-grained multiresolution models. BDAM [7],and P-BDAM [8] use a top-down refinement approach basedon saturated errors and bounding volumes similar to SOAR

Page 17: 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti …00000000-2d84-4b92-0000-0000445d2ab2/... · Survey on Semi-Regular Multiresolution Models for Interactive ... Survey on semi-regular

Survey on semi-regular multiresolution models for interactive terrain rendering 17

[35,36]. The 4-8 texture hierarchy system [28] use insteadthe dual queue approach of ROAM [13]. All these systemsmaintain in-core the dependency graph (for a conformingtriangulation) and incrementally fetch from external mem-ory the required LOD data. The choice of the particular re-finement strategy is less important for clustered triangulationapproaches than for the other methods surveyed here, sincethe run-time dependency graph size is output sensitive andsmall, and all operations are amortized over thousands ofrendered triangles.

7.2 Out-of-Core Data Organization

While early systems such asVGIS[29,34,33],ViRGIS[42,45,46], [27] andTerraVision II [50], as well as extremelysuccessful viewers such asGoogle Earthor NASA World-wind, generally manage the terrain data as a set of rectan-gular elevation grid tiles, more recent approaches [35,36,5]use clever indexing and, when possible, memory mappingtechniques.

In tile-based systems the terrain data can easily exceedthe main (or even virtual) memory capacity of the worksta-tion used for rendering as the data is dynamically loadedon-demand from disk. VGIS [29,34,33] maintains the ter-rain data on disk partitioned into a hierarchy of blocks of129x129 vertices each. Hence at run-time, retrieval of theterrain data from disk is based on block access at fixed gridresolutions. In main memory a partial global terrain quadtreeis maintained, and updated dynamically by loading eleva-tion data blocks on demand from disk. Adaptive simplifica-tion is performed from this in-core data for each frame basedon the view-dependent block- and vertex-level error metricsdiscussed in Section 4.1.

In ViRGIS [42,45,46], a tiled sliding window concept isapplied that dynamically maintains a fraction of the entiredata set in main memory, similar to Figure 1. A dynamicscene manager dynamically updates the set of visible tiles,by loading from disk on demand, and maintains each tile it-self as a RQT. To avoid excessive loading from disk, a strat-egy ofdeferred cumulative updatesis proposed which incre-mentally updates grid tiles in-core based on the required ad-ditional LOD. A multi-client capable terrain server managesthe elevation data in a quadtree database structure, support-ing LOD-based rectangular range queries as well as LOD-interval range queries for incremental tile updates. Given arectangular query rangeR an adaptive triangulation for anyspecified LOD-interval can be retrieved as indicated in Fig-ure 34. In that process, the boundary∂R of the query re-gion R is resolved such that a conforming triangulation ofthe query regionR is generated.

Instead of using grid tiles to partition the elevation data,[4] combines spatial grouping with a LOD priority to clus-ter elevation data on disk. Starting with a simple group ofvertices of the restricted quadtree triangulation hierarchy,a cluster is formed by recursively adding same, or similarLOD child nodes until: the size limit for a single cluster is

15

the terrain data to be managed on a separate server and notlocally on the rendering workstation.

VGIS maintains the terrain data on disk partitioned intofiles of 129x129 vertices each. All levels of the quadtreehierarchy are stored on disk, each as a set of blocks of 1292

vertices. Due to this multi-level sub-sampling of the height-field, elevation values are duplicated on multiple levels. Atrun-time, retrieval of the terrain data from disk is strictlyconstraint to accessing fixed grid resolutions of 129x129vertex blocks at a time and no further LOD based access issupported. In main memory, an approximation of the entiredata set as a global quadtree of the terrain is maintained thatcan be dynamically updated by loading macro nodes of129x129 vertex blocks from disk. On this macro-level, thedecision on which parts of the terrain are loaded at whichfixed grid resolution from disk into main memory is basedon the distance of the viewpoint from the surface. Theheight-field data in main memory is then simplified for eachframe based on the view-dependent block- and vertex-levelerror metrics discussed in Section 3.3 to render a continuousadaptive LOD triangulation of the visible terrain.

In contrast, ViRGIS applies a windowing concept thatdynamically maintains a fraction of the entire data set inmain memory, and uses a tiling of the visible scene. This til-ing approach supports efficient dynamic scene management,and updates from the terrain database can be composed fromfixed sized rectangular range-queries, one range-query forevery newly visible tile. The dynamic scene manager main-tains each terrain tile as a restricted quadtree triangulationthat generates adaptive LOD triangle strips for fast render-ing. To avoid computing updates of the terrain triangulationfor each frame, a deferred cumulative updates strategy isproposed to reduce data management costs without signifi-cant loss of display quality. The terrain-server, accessible bymultiple concurrent ViRGIS rendering-clients, maintainsthe terrain height-field in a quadtree database that efficientlysupports LOD-based rectangular range queries as outlinedbelow. Furthermore, it supports LOD-interval range querieswhich refine a client’s current !-approximation by incre-mentally loading more detail for a particular LOD updateinterval.

The RQT approach in ViRGIS supports efficient space-LOD access by supporting rectangular range queries for aparticular LOD [POS+98, PW01]. The query range can beany height-field grid aligned rectangular region R, and theLOD can be specified either by an error threshold, or toler-ance interval. As shown in Figure 33, special attention ispaid to the border "R of the query region R. The geometricaltest wether a vertex is inside the query region or not, isextended by constraints of the restricted quadtree triangula-tion. The border "R must include vertices to form a match-ing restricted quadtree triangulation of the query region R asfurther discussed in [Paj98a, POS+98, PW01].

FIGURE 33. Rectangular range query shown in a) andinitial vertex selection given in b). RQT constraints areenforced on the range query as shown in c).

Instead of using grid tiles to partition the elevation data,[BP03] combines spatial grouping with a LOD priority to clus-ter elevation data on disk. Starting with a simple group of verti-ces of the restricted quadtree triangulation hierarchy, a cluster isformed by recursively adding same, or similar LOD childnodes until: the size limit for a single cluster is reached, or theLOD priority of the vertices in the cluster exceeds a toleratedevenness bound. Hence each cluster forms a part of thequadtree hierarchy structure and preserves spatial selectivity aswell as uniform LOD distribution within the cluster.

In [Hop98] the entire terrain data set is block-partitionedinto quadratic patches on disk. Each patch may be pre-sim-plified to a minimum tolerance and stored on disk, however,block boundaries are preserved at the finest resolution toguarantee matching triangulations. In main memory, theinterior of each quadratic block is adaptively simplified foreach frame. Simplification across the highly tessellatedblock boundaries is performed in a second stage, afterblock-internal simplification, to reduce artifacts betweenblock regions.

A different approach for out-of-core memory manage-ment of multiresolution data has been presented in [LP01,LP02] which relies purely on the virtual memory managementfunctionality of modern operating systems. The basic principleis to sequentially order the grid-digital elevation samples basedon a hierarchical, recursively defined space-filling curve index-ing scheme [ARR+97]. The space-filling property of such anindex preserves spatial proximity between index neighbors, andthe hierarchical definition – e.g. of the z-curve index as used in[LP01] – provides a basic LOD ordering. The multiresolutionrestricted quadtree, or bin-tree triangulation hierarchy is thusmapped to a linear data layout that can be stored on externalmemory. The out-of-core data management is then solved bymemory mapping this file at run-time to an array data structure.View-dependent adaptive LOD triangulation and real-time ren-dering can then be carried out fully in (virtual) main memorywithout specific out-of-core data access mechanisms.

Clustered triangulation approaches obtain their effi-ciency by moving the granularity of all LOD operationsfrom individual vertices or triangles to small mesh portions.This reduces memory needs, since less dependency informa-tion has to be stored, and offers the possibility to optimizethe throughput by exploiting block-transfer features andcompression at the level of individual mesh portions. As a

triangulation forerror tolerance #

points and trianglesinside query region R

constrained triangulationfor query region R

a) b) c)

15

the terrain data to be managed on a separate server and notlocally on the rendering workstation.

VGIS maintains the terrain data on disk partitioned intofiles of 129x129 vertices each. All levels of the quadtreehierarchy are stored on disk, each as a set of blocks of 1292

vertices. Due to this multi-level sub-sampling of the height-field, elevation values are duplicated on multiple levels. Atrun-time, retrieval of the terrain data from disk is strictlyconstraint to accessing fixed grid resolutions of 129x129vertex blocks at a time and no further LOD based access issupported. In main memory, an approximation of the entiredata set as a global quadtree of the terrain is maintained thatcan be dynamically updated by loading macro nodes of129x129 vertex blocks from disk. On this macro-level, thedecision on which parts of the terrain are loaded at whichfixed grid resolution from disk into main memory is basedon the distance of the viewpoint from the surface. Theheight-field data in main memory is then simplified for eachframe based on the view-dependent block- and vertex-levelerror metrics discussed in Section 3.3 to render a continuousadaptive LOD triangulation of the visible terrain.

In contrast, ViRGIS applies a windowing concept thatdynamically maintains a fraction of the entire data set inmain memory, and uses a tiling of the visible scene. This til-ing approach supports efficient dynamic scene management,and updates from the terrain database can be composed fromfixed sized rectangular range-queries, one range-query forevery newly visible tile. The dynamic scene manager main-tains each terrain tile as a restricted quadtree triangulationthat generates adaptive LOD triangle strips for fast render-ing. To avoid computing updates of the terrain triangulationfor each frame, a deferred cumulative updates strategy isproposed to reduce data management costs without signifi-cant loss of display quality. The terrain-server, accessible bymultiple concurrent ViRGIS rendering-clients, maintainsthe terrain height-field in a quadtree database that efficientlysupports LOD-based rectangular range queries as outlinedbelow. Furthermore, it supports LOD-interval range querieswhich refine a client’s current !-approximation by incre-mentally loading more detail for a particular LOD updateinterval.

The RQT approach in ViRGIS supports efficient space-LOD access by supporting rectangular range queries for aparticular LOD [POS+98, PW01]. The query range can beany height-field grid aligned rectangular region R, and theLOD can be specified either by an error threshold, or toler-ance interval. As shown in Figure 33, special attention ispaid to the border "R of the query region R. The geometricaltest wether a vertex is inside the query region or not, isextended by constraints of the restricted quadtree triangula-tion. The border "R must include vertices to form a match-ing restricted quadtree triangulation of the query region R asfurther discussed in [Paj98a, POS+98, PW01].

FIGURE 33. Rectangular range query shown in a) andinitial vertex selection given in b). RQT constraints areenforced on the range query as shown in c).

Instead of using grid tiles to partition the elevation data,[BP03] combines spatial grouping with a LOD priority to clus-ter elevation data on disk. Starting with a simple group of verti-ces of the restricted quadtree triangulation hierarchy, a cluster isformed by recursively adding same, or similar LOD childnodes until: the size limit for a single cluster is reached, or theLOD priority of the vertices in the cluster exceeds a toleratedevenness bound. Hence each cluster forms a part of thequadtree hierarchy structure and preserves spatial selectivity aswell as uniform LOD distribution within the cluster.

In [Hop98] the entire terrain data set is block-partitionedinto quadratic patches on disk. Each patch may be pre-sim-plified to a minimum tolerance and stored on disk, however,block boundaries are preserved at the finest resolution toguarantee matching triangulations. In main memory, theinterior of each quadratic block is adaptively simplified foreach frame. Simplification across the highly tessellatedblock boundaries is performed in a second stage, afterblock-internal simplification, to reduce artifacts betweenblock regions.

A different approach for out-of-core memory manage-ment of multiresolution data has been presented in [LP01,LP02] which relies purely on the virtual memory managementfunctionality of modern operating systems. The basic principleis to sequentially order the grid-digital elevation samples basedon a hierarchical, recursively defined space-filling curve index-ing scheme [ARR+97]. The space-filling property of such anindex preserves spatial proximity between index neighbors, andthe hierarchical definition – e.g. of the z-curve index as used in[LP01] – provides a basic LOD ordering. The multiresolutionrestricted quadtree, or bin-tree triangulation hierarchy is thusmapped to a linear data layout that can be stored on externalmemory. The out-of-core data management is then solved bymemory mapping this file at run-time to an array data structure.View-dependent adaptive LOD triangulation and real-time ren-dering can then be carried out fully in (virtual) main memorywithout specific out-of-core data access mechanisms.

Clustered triangulation approaches obtain their effi-ciency by moving the granularity of all LOD operationsfrom individual vertices or triangles to small mesh portions.This reduces memory needs, since less dependency informa-tion has to be stored, and offers the possibility to optimizethe throughput by exploiting block-transfer features andcompression at the level of individual mesh portions. As a

triangulation forerror tolerance #

points and trianglesinside query region R

constrained triangulationfor query region R

a) b) c)

15

the terrain data to be managed on a separate server and notlocally on the rendering workstation.

VGIS maintains the terrain data on disk partitioned intofiles of 129x129 vertices each. All levels of the quadtreehierarchy are stored on disk, each as a set of blocks of 1292

vertices. Due to this multi-level sub-sampling of the height-field, elevation values are duplicated on multiple levels. Atrun-time, retrieval of the terrain data from disk is strictlyconstraint to accessing fixed grid resolutions of 129x129vertex blocks at a time and no further LOD based access issupported. In main memory, an approximation of the entiredata set as a global quadtree of the terrain is maintained thatcan be dynamically updated by loading macro nodes of129x129 vertex blocks from disk. On this macro-level, thedecision on which parts of the terrain are loaded at whichfixed grid resolution from disk into main memory is basedon the distance of the viewpoint from the surface. Theheight-field data in main memory is then simplified for eachframe based on the view-dependent block- and vertex-levelerror metrics discussed in Section 3.3 to render a continuousadaptive LOD triangulation of the visible terrain.

In contrast, ViRGIS applies a windowing concept thatdynamically maintains a fraction of the entire data set inmain memory, and uses a tiling of the visible scene. This til-ing approach supports efficient dynamic scene management,and updates from the terrain database can be composed fromfixed sized rectangular range-queries, one range-query forevery newly visible tile. The dynamic scene manager main-tains each terrain tile as a restricted quadtree triangulationthat generates adaptive LOD triangle strips for fast render-ing. To avoid computing updates of the terrain triangulationfor each frame, a deferred cumulative updates strategy isproposed to reduce data management costs without signifi-cant loss of display quality. The terrain-server, accessible bymultiple concurrent ViRGIS rendering-clients, maintainsthe terrain height-field in a quadtree database that efficientlysupports LOD-based rectangular range queries as outlinedbelow. Furthermore, it supports LOD-interval range querieswhich refine a client’s current !-approximation by incre-mentally loading more detail for a particular LOD updateinterval.

The RQT approach in ViRGIS supports efficient space-LOD access by supporting rectangular range queries for aparticular LOD [POS+98, PW01]. The query range can beany height-field grid aligned rectangular region R, and theLOD can be specified either by an error threshold, or toler-ance interval. As shown in Figure 33, special attention ispaid to the border "R of the query region R. The geometricaltest wether a vertex is inside the query region or not, isextended by constraints of the restricted quadtree triangula-tion. The border "R must include vertices to form a match-ing restricted quadtree triangulation of the query region R asfurther discussed in [Paj98a, POS+98, PW01].

FIGURE 33. Rectangular range query shown in a) andinitial vertex selection given in b). RQT constraints areenforced on the range query as shown in c).

Instead of using grid tiles to partition the elevation data,[BP03] combines spatial grouping with a LOD priority to clus-ter elevation data on disk. Starting with a simple group of verti-ces of the restricted quadtree triangulation hierarchy, a cluster isformed by recursively adding same, or similar LOD childnodes until: the size limit for a single cluster is reached, or theLOD priority of the vertices in the cluster exceeds a toleratedevenness bound. Hence each cluster forms a part of thequadtree hierarchy structure and preserves spatial selectivity aswell as uniform LOD distribution within the cluster.

In [Hop98] the entire terrain data set is block-partitionedinto quadratic patches on disk. Each patch may be pre-sim-plified to a minimum tolerance and stored on disk, however,block boundaries are preserved at the finest resolution toguarantee matching triangulations. In main memory, theinterior of each quadratic block is adaptively simplified foreach frame. Simplification across the highly tessellatedblock boundaries is performed in a second stage, afterblock-internal simplification, to reduce artifacts betweenblock regions.

A different approach for out-of-core memory manage-ment of multiresolution data has been presented in [LP01,LP02] which relies purely on the virtual memory managementfunctionality of modern operating systems. The basic principleis to sequentially order the grid-digital elevation samples basedon a hierarchical, recursively defined space-filling curve index-ing scheme [ARR+97]. The space-filling property of such anindex preserves spatial proximity between index neighbors, andthe hierarchical definition – e.g. of the z-curve index as used in[LP01] – provides a basic LOD ordering. The multiresolutionrestricted quadtree, or bin-tree triangulation hierarchy is thusmapped to a linear data layout that can be stored on externalmemory. The out-of-core data management is then solved bymemory mapping this file at run-time to an array data structure.View-dependent adaptive LOD triangulation and real-time ren-dering can then be carried out fully in (virtual) main memorywithout specific out-of-core data access mechanisms.

Clustered triangulation approaches obtain their effi-ciency by moving the granularity of all LOD operationsfrom individual vertices or triangles to small mesh portions.This reduces memory needs, since less dependency informa-tion has to be stored, and offers the possibility to optimizethe throughput by exploiting block-transfer features andcompression at the level of individual mesh portions. As a

triangulation forerror tolerance #

points and trianglesinside query region R

constrained triangulationfor query region R

a) b) c)a) b) c)

Fig. 34 Rectangular range query shown in a) and initial vertex selec-tion given in b). RQT constraints are enforced on the range query asshown in c).

reached, or the LOD priority of the vertices in the cluster ex-ceeds a tolerated evenness bound. Hence each cluster formsa part of the quadtree hierarchy structure and preserves spa-tial selectivity as well as uniform LOD distribution withinthe cluster.

In [27] the entire terrain data set is block-partitioned intoquadratic patches on disk. Each patch may be pre-simplifiedto a minimum tolerance and stored on disk, however, blockboundaries are preserved at the finest resolution to guaranteeconforming triangulations. In main memory, the interior ofeach quadratic block is adaptively simplified for each frame.Simplification across the highly tessellated block boundariesis performed in a second stage, after block-internal simplifi-cation, to reduce artifacts between block regions.

A different approach for out-of-core memorymanagement of multiresolution data has been presentedin [35,36] which relies purely on the virtual memorymanagement functionality of modern operating systems.The basic principle is to sequentially order the grid-digitalelevation samples based on a hierarchical, recursivelydefined space-filling curve indexing scheme [1]. Thespace-filling property of such an index preserves spatialproximity between index neighbors, and the hierarchicaldefinition e.g. of thez-curve index as used in [35] providesa basic LOD ordering. The multiresolution restrictedquadtree, or bin-tree triangulation hierarchy is thus mappedto a linear data layout that can be stored on externalmemory. The out-of-core data management is then solvedby memory mappingthis file at run-time to an array datastructure. View-dependent adaptive LOD triangulation andreal-time rendering can then be carried out fully in (virtual)main memory without specific out-of-core data accessmechanisms.

Clustered triangulation approaches obtain theirefficiency by moving the granularity of all LOD operationsfrom individual vertices or triangles to small mesh portions.This reduces memory needs, since less dependencyinformation has to be stored, and offers the possibilityto optimize the throughput by exploiting block-transferfeatures and compression at the level of individual meshportions. As a representative example, the BDAM andP-BDAM [7,8] systems encode the hierarchy of righttriangles that guide their multiresolution partitioning asa triangle bin-tree, and store the geometry associated toeach bin-tree region in a out-of-core patch repository whichis accessed on a patch by patch basis. This repository

Page 18: 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti …00000000-2d84-4b92-0000-0000445d2ab2/... · Survey on Semi-Regular Multiresolution Models for Interactive ... Survey on semi-regular

18 Renato Pajarola, Enrico Gobbetti

is constructed in a preprocessing step by a distributedalgorithm that builds the patches bottom-up usingedge collapse simplification with appropriate boundaryconstraints. Patches are stored in the repository in a packedstripified form ready for rendering. Similarly to [36], thedata layout is optimized to improve memory coherencyby sorting patches by level and spatial position. Spatialsorting is realized using an indexing function based ona space-filling curve. A separate index, kept in-core,establishes the relation between triangle bin-tree regionsand stored mesh patches. At run time, the most recentlyused patches are cached on the GPU using a LRU strategy,while the new patches are retrieved by accessing therepository through memory-mapping primitives. Whendealing with textured terrains, a tiled texture quadtree,stored in compressed DXT format is overlaid on thegeometry.

The 4-8 texture hierarchy system [28] improves over theprevious approach by integrating geometry and texture in thesame framework. In this case, the diamond region is used inthe data structure rather than the bin-tree triangles. Both ge-ometry and textures are treated as small regular grids, calledtiles, defined for each diamond in the hierarchy and paged-infrom disk on demand. Loading a new diamond correspondsto loading two patches sharing the main diagonal. For effi-cient input and output, files and disk blocks are laid out usinga diamond indexing scheme based on the Sierpinski space-filling curve. In [23], the client and data access componentsare separated to support thin clients and network servers.

7.3 Compression

Various authors have concentrated on combining data com-pression methods with multiresolution schemes to reducedata transfer bandwidths and memory footprints. Tiled blocktechniques typically use standard 2D compressors to inde-pendently compress each tile. In [28], the authors point outthat, when using a 4-8 hierarchy, the rectangular tiles as-sociated to each diamond could be also compressed usingstandard 2D image compression methods.

Geometry clipmaps [37] organize the terrain height datain a pyramidal multiresolution scheme and the residual be-tween levels are compressed using an advanced image coderthat supports fast access to image regions [40]. Storing in acompressed form just the heights and reconstructing at run-time both normal and color data (using a simple height colormapping) provides a very compact representation that canbe maintained in main memory even for large datasets. Themethod is possibly the current state-of-the-art in terms ofcompression rates.

The Compressed Batched Dynamic Adaptive Meshes(C-BDAM) technique [23], an extension of the BDAMand P-BDAM chunked level-of-detail hierarchy, strives tocombine the generality and adaptivity of chunked bin-treemultiresolution structures with the compression rates ofnested regular grid techniques. Similarly to BDAM, coarse

grain refinement operations are associated to regions in abin-tree hierarchy. Each region, called diamond, is formedby two triangular patches that share their longest edge. InBDAM, each patch is a general precomputed triangulatedsurface region. In the C-BDAM approach, however, allpatches share the same regular triangulation connectivityand incrementally encode their vertex attributes whendescending in the multiresolution hierarchy. The encodingfollows a two-stage wavelet based near-lossless schemein which lossy wavelet prediction are corrected to keepapproximated values within user imposed bounds. Theapproach supports both mean-square error and maximumerror metrics allowing to introduce a strict bound on themaximum error introduced in the visualization process. Thescheme requires storage of two small square matrices ofresiduals per diamond, which are maintained in a repository.At run-time, a compact in-core multiresolution structureis traversed, and incrementally refined or coarsened on adiamond-by-diamond basis until screen space error criteriaare met. The data required for refining is either retrievedfrom the repository or procedurally generated to supportruntime detail synthesis. At each frame, updates arecommunicated to the GPU with a batched communicationmodel.

The main take home message of the C-BDAM work isthat it is not necessary to use non-adaptive techniques, suchas geometry clipmaps, to incorporate aggressive compres-sion in a high performance view-dependent terrain renderer.This comes, however, at the cost of increased implementa-tion complexity.

7.4 Numerical Accuracy

Numerical accuracy issues are one of the most neglected as-pects in the management of huge data sets. Sending posi-tions to the graphics hardware pipeline needs particular care,given that the highest precision data-type is the IEEE float-ing point, whose 23 bit mantissa leads to noticeable vertexcoalescing problem for metric data sets on the Earth and tocamera jitter problems in the general case [50]. In P-BDAM[8], BDAM’s structural properties that guarantee overall ge-ometric continuity are exploited for planetary sized render-ing applications. Programmable graphics hardware is in par-ticular exploited to cope with the accuracy issues introducedby single precision floating point numbers, resulting in thefirst fully hardware accelerated system able to provide sub-metric positioning accuracy on the Earth.

The method uses as basic primitive a general triangula-tion of points on a displaced triangle (see Figure 35). Eachcorner vertex contains a pair of parametric coordinatesTi ,that correspond to the position of the vertex in(u,v) coor-dinates, as well as a planetocentric positionPi and a nor-mal vectorNi , that are computed fromTi during the patchconstruction preprocess as a function of the particular pro-jection used. The vertices of the internal triangulation arestored by specifying a barycentric coordinate and an offset

Page 19: 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti …00000000-2d84-4b92-0000-0000445d2ab2/... · Survey on Semi-Regular Multiresolution Models for Interactive ... Survey on semi-regular

Survey on semi-regular multiresolution models for interactive terrain rendering 19

along the interpolated normal direction, and all the informa-tion required at rendering time is linearly interpolated fromthe base corner vertex data. As for BDAM, the interior ofthe patch is an arbitrary triangulation of the vertices, thatis represented by a cache-coherent generalized triangle stripstored as a single ordered list of vertex indices. The only as-pect that requires particular care is the computation of plan-etocentric positions, since all other information is local tothe patch. P-BDAM therefore storesPi in double precision.At each frame, all patches are rendered in camera coordi-nates, simply subtracting the camera position fromPi on thehost before converting them to single precision for transferto the GPU. This way a single reference frame is used foreach frame, and positional accuracy decreases with the dis-tance from the camera, which is exactly what is needed. Incontrast to common linear transformation approaches [33,50], neighboring patches remain unconditionally connectedbecause displaced vertex values only depend on the com-mon base corner vertices (along the edges, the weight forthe opposite vertex is null). The conversion cost (9 subtrac-tions and 9 floating point conversion) is negligible, since it isamortized over all the internal triangles. Moreover, the trans-formation from barycentric to Cartesian/texture coordinatescan be efficiently computed from corner data on the GPU.This has the important advantage that, since the vertices ofthe internal triangulation are invariant in barycentric coordi-nates, they can be cached in a static vertex array directly ingraphics memory. Moreover, the rendering routine can fullybenefit from the post-transform-and-lighting cache of cur-rent graphics architectures, which is fully exploited whendrawing from the indexed representation.

Fig. 35 P-BDAM patches are represented as arbitrary triangulations ofpoints over a displaced triangle.

8 Conclusions

The investigation of multiresolution methods to dynamicallyadapt rendered model complexity has been, and still is, avery active computer graphics research area, which is ob-viously impossible to fully cover in a short survey. In thisarticle, we analyzed the most common semi-regular multi-resolution approaches for grid-digital terrain models. De-spite the slightly increased size of the produced LOD tri-angle meshes compared to fully irregular approaches, thesemi-regular multiresolution methods described in this pa-per are among the best choices for real-time visualization ofvery large scale height-field data sets. The various reviewed

approaches provide different alternatives in data structures,triangulation algorithms, error metrics, dynamic scene man-agement and rendering methods that can be exploited for anoptimized implementation.

Models based on tiled blocks and nested regular gridsare generally simple to implement and maintain, and offeroptimized interfaces to the graphics hardware at the cost oflimited adaptivitity and/or approximation quality and/or do-main generality. Quadtree and triangle bin-trees triangula-tions offer a sound mathematical basis upon which efficientdynamic structures providing fully adaptive conforming tri-angulations can be programmed. Cluster based approaches,that build upon this basis, have recently shown how thesemethods can efficiently harness the performance of currentcommodity graphics platforms, at the cost of a slight reduc-tion in adaptivity.

Even though the domain is mature and has a long history,open problems remain. In particular, while networked andout-of-core rendering systems have been demonstrated formost of the structures discussed in this survey, limited solu-tions have been proposed for fully out-of-core data construc-tion. Moreover efficient techniques for incrementally updat-ing an already constructed multiresolution hierarchy are stillto be devised.

References

1. Asano, T., Ranjan, D., Roos, T., Welzl, E., Widmayer, P.: Spacefilling curves and their use in the design of geometric data struc-tures. Theoretical Computer Science181, 3–15 (1997)

2. Balmelli, L., Ayer, S., Vetterli, M.: Efficient algorithms for em-bedded rendering of terrain models. In: Proceedings IEEE Inter-national Conference on Image Processing ICIP 98, pp. 914–918(1998)

3. Balmelli, L., Liebling, T., Vetterli, M.: Computational analysis of4-8 meshes with application to surface simplification using globalerror. In: Electronic Proceedings of the 13th Canadian Conferenceon Computational Geometry (CCCG) (2001)

4. Bao, X., Pajarola, R.: LOD-based clustering techniques for opti-mizing large-scale terrain storage and visualization. In: Proceed-ings SPIE Conference on Visualization and Data Analysis, pp.225–235 (2003)

5. Bao, X., Pajarola, R., Shafae, M.: SMART: An efficient techniquefor massive terrain visualization from out-of-core. In: ProceedingsVision, Modeling and Visualization (VMV), pp. 413–420 (2004)

6. Baumann, K., Dollner, J., Hinrichs, K., Kersting, O.: A hy-brid, hierarchical data structure for real-time terrain visualization.In: Computer Graphics International, pp. 85–92 (1999). URLhttp://computer.org/proceedings/cgi/0185/01850085abs.htm

7. Cignoni, P., Ganovelli, F., Gobbetti, E., Marton, F., Ponchio, F.,Scopigno, R.: BDAM - batched dynamic adaptive meshes forhigh performance terrain visualization. In: Proceedings EURO-GRAPHICS, pp. 505–514 (2003). Also in Computer GraphicsForum 22(3)

8. Cignoni, P., Ganovelli, F., Gobbetti, E., Marton, F., Ponchio, F.,Scopigno, R.: Planet-sized batched dynamic adaptive meshes (P-BDAM). In: Proceedings IEEE Visualization, pp. 147–155. Com-puter Society Press (2003)

9. Cignoni, P., Ganovelli, F., Gobbetti, E., Marton, F., Pon-chio, F., Scopigno, R.: Batched multi triangulation. In:Proceedings IEEE Visualization, pp. 207–214. Computer So-ciety Press (2005). URL http://www.crs4.it/vic/cgi-bin/bib-page.cgi?id=’Cignoni:2005:GFM’

Page 20: 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti …00000000-2d84-4b92-0000-0000445d2ab2/... · Survey on Semi-Regular Multiresolution Models for Interactive ... Survey on semi-regular

20 Renato Pajarola, Enrico Gobbetti

10. Cignoni, P., Montani, C., Scopigno, R.: A comparison of meshsimplification algorithms. Computers & Graphics22(1), 37–54(1998)

11. De Floriani, L., Marzano, P., Puppo, E.: Multiresolution modelsfor topographic surface description. The Visual Computer12(7),317–345 (1996)

12. De Floriani, L., Puppo, E., Magillo, P.: A formal approach to mul-tiresolution modeling. In: R. Klein, W. Straßer, R. Rau (eds.) Ge-ometric Modeling: Theory and Practice, pp. 302–323. Springer-Velrag (1997)

13. Duchaineau, M., Wolinsky, M., Sigeti, D.E., Miller, M.C.,Aldrich, C., Mineev-Weinstein, M.B.: ROAMing terrain: Real-time optimally adapting meshes. In: Proceedings IEEE Visual-ization, pp. 81–88 (1997)

14. Evans, W., Kirkpatrick, D., Townsend, G.: Right-triangulated ir-regular networks. Algorithmica30(2), 264–286 (2001)

15. Falby, J., Zyda, M., Pratt, D., Mackey, L.: NPSNET: Hierarchi-cal data structures for realtime 3-dimensional visual simulation.Computers & Graphics17(1), 65–69 (1993)

16. Floriani, L., L.Kobbelt, Puppo, E.: A survey on data structures forlevel-of-detail models. In: N.Dodgson, M.Floater, M.Sabin (eds.)Advances in Multiresolution for Geometric Modelling, Mathemat-ics and Visualization, pp. 49–74. Springer Verlag (2004)

17. Floriani, L.D., Magillo, P., Puppo, E.: Building and traversing asurface at variable resolution. In: IEEE Visualization ’97 (1997).URL http://visinfo.zib.de/EVlib/Show?EVL-1997-126

18. Garland, M.: Multiresolution modeling: Survey & future opportu-nities. Eurographics State of The Art Report (STAR) (1999)

19. Gerstner, T.: Multiresolution compression and visualization ofglobal topographic data. Tech. Rep. 29, Institut fur AngewandteMathematik, Universitat Bonn (1999). To appear in Geoinformat-ica 2001

20. Gerstner, T.: Top-down view-dependent terrain triangulation usingthe octagon metric. Tech. rep., Institute of Applied Mathematics,University of Bonn (2003)

21. Gerstner, T., Pajarola, R.: Topology preserving and controlledtopology simplifying multiresolution isosurface extraction. In:Proceedings IEEE Visualization, pp. 259–266. Computer SocietyPress (2000)

22. Gerstner, T., Rumpf, M., Weikard, U.: Error indicators for multi-level visualization and computing on nested grids. Computers &Graphics24(3), 363–373 (2000)

23. Gobbetti, E., Marton, F., Cignoni, P., Benedetto, M.D., Ganov-elli, F.: C-BDAM – compressed batched dynamic adap-tive meshes for terrain rendering. Computer Graphics Fo-rum 25(3) (2006). URL http://www.crs4.it/vic/cgi-bin/bib-page.cgi?id=’Gobbetti:2006:CCB’. Proc. Eurographics 2006

24. Hebert, D., Kim, H.: Image encoding with triangulation wavelets.In: Proceedings of SPIE, vol. 2569, pp. 381–392. SPIE (1995)

25. Heckbert, P.S., Garland, M.: Survey of polygonal surface simpli-fication algorithms. SIGGRAPH 97 Course Notes 25 (1997)

26. Hitchner, L.E., McGreevy, M.W.: Methods for user-based reduc-tion of model complexity for virtual planetary exploration. In:Proceedings Symposium on Electronic Imaging, pp. 1–16. SPIE(1993)

27. Hoppe, H.: Smooth view-dependent level-of-detail control and itsapplication to terrain rendering. In: Proceedings IEEE Visualiza-tion, pp. 35–42. Computer Society Press (1998)

28. Hwa, L.M., Duchaineau, M.A., Joy, K.I.: Real-time optimaladaptation for planetary geometry and texture: 4-8 tile hierar-chies. IEEE Transactions on Visualization and Computer Graphics11(4), 355–368 (2005)

29. Koller, D., Lindstrom, P., Ribarsky, W., Hodges, L.F., Faust, N.,Turner, G.: Virtual GIS: A real-time 3D geographic informationsystem. In: Proceedings IEEE Visualization, pp. 94–100. Com-puter Society Press (1995)

30. Lario, R., Pajarola, R., Tirado, F.: Hyperblock-QuadTIN: Hyper-block quadtree based triangulated irregular networks. In: Proceed-ings IASTED Invernational Conference on Visualization, Imagingand Image Processing (VIIP), pp. 733–738 (2003)

31. Levenberg, J.: Fast view-dependent level-of-detail rendering usingcached geometry. In: Proceedings IEEE Visualization, pp. 259–266. Computer Society Press (2002)

32. Lindstrom, P., Koller, D., Hodges, L.F., Ribarsky, W., Faust, N.,Turner, G.: Level-of-detail management for real-time rendering ofphototextured terrain. Tech. rep., Graphics, Visualization, and Us-ability Center, Georgia Tech (1995). TR 95-06

33. Lindstrom, P., Koller, D., Ribarsky, W., Hodges, L., Faust, N.:An integrated global GIS and visual simulation system. Tech.Rep. GVU Technical Report 97-0, Georgia Tech Research Insti-tute (1997). Http://www.gvu.gatech.edu/gvu/virtual/VGIS/

34. Lindstrom, P., Koller, D., Ribarsky, W., Hodges, L.F., Faust, N.,Turner, G.A.: Real-time, continuous level of detail rendering ofheight fields. In: Proceedings ACM SIGGRAPH, pp. 109–118.ACM SIGGRAPH (1996)

35. Lindstrom, P., Pascucci, V.: Visualization of large terrains madeeasy. In: Proceedings IEEE Visualization, pp. 363–370. ComputerSociety Press (2001)

36. Lindstrom, P., Pascucci, V.: Terrain simplification simplified: Ageneral framework for view-dependent out-of-core visualization.IEEE Transaction on Visualization and Computer Graphics8(3),239–254 (2002)

37. Losasso, F., Hoppe, H.: Geometry clipmaps: Tterrainrendering using nested regular grids. ACM Trans-actions on Graphics 23(3), 769–776 (2004). URLhttp://doi.acm.org/10.1145/1015706.1015799

38. Luebke, D., Reddy, M., Cohen, J.D., Varshney, A., Watson, B.,Huebner, R.: Level of Detail for 3D Graphics. Morgan KaufmannPublishers, San Francisco, California (2003)

39. Luebke, D.P.: A developer’s survey of polygonal simplification al-gorithms. IEEE Computer Graphics & Applications21(3), 24–35(2001)

40. Malvar, H.S.: Fast progressive image coding without wavelets.In: Data Compression Conference, pp. 243–252 (2000). URLhttp://www.computer.org/proceedings/dcc/0592/05920243abs.htm

41. Ohlberger, M., Rumpf, M.: Adaptive projection operators in mul-tiresolution scientific visualization. IEEE Transactions on Visual-ization and Computer Graphics5(1), 74–93 (1999)

42. Pajarola, R.: Large scale terrain visualization using the restrictedquadtree triangulation. In: Proceedings IEEE Visualization, pp.19–26,515 (1998)

43. Pajarola, R.: Large scale terrain visualization us-ing the restricted quadtree triangulation. Tech. Rep.292, Dept. of Computer Science, ETH Zurich (1998).Ftp://ftp.inf.ethz.ch/pub/publications/tech-reports/2xx/292.ps

44. Pajarola, R., Antonijuan, M., Lario, R.: QuadTIN: Quadtree basedtriangulated irregular networks. In: Proceedings IEEE Visualiza-tion, pp. 395–402. Computer Society Press (2002)

45. Pajarola, R., Ohler, T., Stucki, P., Szabo, K., Widmayer, P.: TheAlps at your fingertips: Virtual reality and geoinformation sys-tems. In: Proceedings International Conference on Data Engineer-ing (ICDE), pp. 550–557. IEEE Computer Society (1998)

46. Pajarola, R., Widmayer, P.: Virtual geoexploration: Concepts anddesign choices. International Journal of Computational Geometryand Applications11(1), 1–14 (2001)

47. Pomeranz, A.A.: ROAM using surface triangle clusters (RUSTiC).Master’s thesis, University of California at Davis (2000)

48. Puppo, E.: Variable resolution terrain surfaces. In: Proceedingsof the 8th Canadian Conference on Computational Geometry, pp.202–210 (1996)

49. Puppo, E.: Variable resolution triangulations. Computational Ge-ometry11(3-4), 219–238 (1998)

50. Reddy, M., Leclerc, Y., Iverson, L., Bletter, N.: TerraVision II:Visualizing massive terrain databases in VRML. IEEE ComputerGraphics & Applications19(2), 30–38 (1999)

51. Rivara, M.C.: A discussion on the triangulation refinement prob-lem. In: Proceedings of the 5th Canadian Conference on Compu-tational Geometry, pp. 42–47 (1993)

52. Rivara, M.C.: A discussion on mixed (longest-side midpoint in-sertion) delaunay techniques for the triangulation refinement prob-lem. In: Proceedings of the 4th International Meshing Roundtable,pp. 335–346 (1995)

Page 21: 23(8):583–605, 2007 Renato Pajarola Enrico Gobbetti …00000000-2d84-4b92-0000-0000445d2ab2/... · Survey on Semi-Regular Multiresolution Models for Interactive ... Survey on semi-regular

Survey on semi-regular multiresolution models for interactive terrain rendering 21

53. Samet, H.: Applications of Spatial Data Structures: computergraphics, image processing, and GIS. Addison Wesley, Reading,Massachusetts (1989)

54. Samet, H.: The Design and Analysis of Spatial Data Structures.Addison Wesley, Reading, Massachusetts (1989)

55. Schneider, J., Westermann, R.: GPU-friendly high-quality terrainrendering. Journal of WSCG14(1-3), 49–56 (2006)

56. Schrack, G.: Finding neighbors of equal size in linear quadtreesand octrees in constant time. Computer Vision, Graphics, and Im-age Processing: Image Understanding55(2), 221–230 (1992)

57. Sivan, R.: Surface modeling using quadtrees. Tech. Rep. CS-TR-3609, University of Maryland, College Park, Computer VisionLaboratory, Center for Automation Research (1996)

58. Sivan, R., Samet, H.: Algorithms for constructing quadtree surfacemaps. In: Proceedings 5th International Symposium on SpatialData Handling, pp. 361–370 (1992)

59. Ulrich, T.: Rendering massive terrains using chunked level of de-tail. In: Super-size-it! Scaling up to Massive Virtual Worlds (ACMSIGGRAPH Tutorial Notes). ACM SIGGRAPH (2000)

60. Velho, L.: Using semi-regular 4-8 meshes for subdivision surfaces.Journal of Graphics Tools5(3), 35–47 (2001)

61. Velho, L., Gomes, J.: Variable resolution 4-k meshes: Conceptsand applications. Computer Graphics Forum19(4), 195–214(2000)

62. Von Herzen, B., Barr, A.H.: Accurate triangulations of deformed,intersecting surfaces. In: Proceedings ACM SIGGRAPH, pp.103–110. ACM SIGGRAPH (1987)

63. Wahl, R., Massing, M., Degener, P., Guthe, M., Klein,R.: Scalable compression and rendering of textured terraindata. In: Journal of WSCG, vol. 12 (2004). URLhttp://visinfo.zib.de/EVlib/Show?EVL-2004-36

64. Wloka, M.: Optimizing the graphics pipeline. In: ProgrammingGraphics Hardware (Eurographics 2004 Tutorial No 4). Euro-graphics Association (2004)

Renato B. Pajarola received a Dr.sc. techn. in Computer Science in1998 from the Swiss Federal Insti-tute of Technology (ETH) Zurich.After a postdoc at Georgia Techhe joined the University of Califor-nia Irvine in 1999 as an AssistantProfessor. Since 2005 he has beenan Associate Professor in ComputerScience at the University of Zurich,leading the Visualization and Mul-tiMedia Lab. His research interestsinclude real-time 3D graphics, sci-entific visualization and interactive3D multimedia. He is a frequentcommittee member and reviewerfor top conferences and journals.

Enrico Gobbetti is the founderand director of the Visual Comput-ing (ViC) group at the Center forAdvanced Studies, Research, andDevelopment in Sardinia (CRS4).Prior to joining CRS4, he was withthe Swiss Federal Institute of Tech-nology in Lausanne, the Univer-sity of Maryland Baltimore Countyand the Center of Excellence inSpace Data and Information Sci-ences (NASA/CESDIS). His re-search interests span many areas ofcomputer graphics. He served asprogram committee member and re-viewer for international conferencesand journals. He holds an Engineer-

ing degree (1989) and a Ph.D. degree (1993) in Computer Science fromthe Swiss Federal Institute of Technology in Lausanne (EPFL).