Survey on Semi-Regular Multiresolution Models for ... - CiteSeerX

0 downloads 0 Views 4MB Size Report
based on a fully irregular approach in which the base mesh is an irregular .... clipmaps cache in video memory nested rectangular extents of the pyramid.
The Visual Computer manuscript No. (will be inserted by the editor)

Renato Pajarola · Enrico Gobbetti

Survey on Semi-Regular Multiresolution Models for Interactive Terrain Rendering

Abstract Rendering high quality digital terrains at interactive rates requires carefully crafted algorithms and data structures able to balance the competing requirements of realism and frame rates, while taking into account the memory and speed limitations of the underlying graphics platform. In this survey, we analyze multi-resolution approaches that exploit a certain semi-regularity of the data. These approaches 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, including dynamic scene management, out-of-core data organization and compression, as well as numerical accuracy. Keywords Terrain rendering · Multiresolution triangulation · Semi-regular meshes

1 Introduction Efficient interactive visualization of very large digital elevation models (DEMs) is important in a number of application domains, such as scientific visualization, GIS, mapping 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 imposes strict efficiency constraints on the visualization system, which is forced to dynamically trade rendering quality with usage of limited system resources. The investigation of multiresolution methods to dynamically adapt rendered model complexity has thus been, and still is, a very active computer graphics research area. The concept has extensively 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 algorithms 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 common multiresolution approaches for terrain rendering that exploit a certain semi-regularity of the data to gain maximum efficiency. Reference [11] provides a classic survey focusing more on multiresolution terrain models over irregular 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 models 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 (Section 7), including dynamic scene management; out-of-core data organization and compression, as well as numerical accuracy. The paper concludes with a short summary in Section 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

2

efficiently rendered at run time. The basic ingredients of a such a model are a base mesh, that defines the coarsest approximation to the terrain surface, a set of updates, that, when applied to the base mesh, provide variable resolution mesh-based representations, and a dependency relation among updates, which allows combining them to extract consistent intermediate representations [16]. Interactive rendering of large datasets consists in extracting at run time, through a view-dependent query a consistent minimum complexity representation that minimizes a view-dependent error measure, eventually loading it on demand from external memory. Different specialized multiresolution models, of various efficiency and generality, are obtained by mixing and matching different instances of all these ingredients. In the most general case, the multiresolution model is based on a fully irregular approach in which the base mesh is an irregular triangulation with unrestricted connectivity, and updates are encoded either explicitly in terms of sets of removed and inserted triangles, e.g., [17], or implicitly by the operations through which the model is refined or coarsened (i.e., edge collapse/split or vertex insertion/removal), e.g., [27]. A dimension-independent framework fully covering this kind of models is the Multi-Tessellation [48,12]. Because of their flexibility, fully irregular approaches are theoretically capable of producing the minimum complexity representation for a given error measure. However, this flexibility comes at a price. In particular, mesh connectivity, hierarchy, and dependencies must explicitly be encoded, and simplification and coarsening operations must handle arbitrary neighborhoods. By imposing constraints on mesh connectivity and update operations it is possible to devise classes of more restricted models that are less costly to store, transmit, render, and simpler to modify. This is because much of the information required for all these tasks becomes implicit, and often, because stricter bounds on the region of influence of each local modification can be defined. Using meshes with semi-regular or regular connectivity, together with fixed subdivision rules, is particularly well adapted to terrains, since input data from remote sensing most often comes in gridded form. Moreover, as the cost of 3D transformations is becoming negligible on current hardware, controlling the shape of each rendered triangle starts to become negligible, favoring methods with the most compact and efficient host-to-graphics interface. For all these reasons, regular or semi-regular approaches have produced some of the 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 systems are based on data structures that do not support fully adaptive surfaces but are simple to implement and efficient in communicating with the I/O subsystem and with the underlying graphics hardware.

Renato Pajarola, Enrico Gobbetti

3.1 Multiple static level-of-detail rendering based on tiled blocks Early LOD terrain rendering methods used a fixed representation approach. With these methods, multiple representations of parts of the terrain, typically square blocks, are precomputed and stored off-line. At run time, the appropriate approximation mesh is assembled from precomputed blocks based on the current view-parameters. Because different parts of the terrain may be using different representations in the current approximation, cracks can occur at the boundaries between different-resolution representations. The NPSNET military simulation system [15], for instance, decomposes the terrain into adjacent blocks represented at four different levels of details. The representations are precomputed and stored on disk. A 16x16 grid of blocks is kept in memory, and a simple distance metric is used to determine the resolution at which each block will be rendered (Figure 1). No effort is made to stitch blocks. As the viewer moves, an entire row or column is paged out while the opposite one is paged in. This technique is also used in the most recent and general work on geometry clipmaps [37]. As the number of LODs is fixed, the model provides very limited adaptivity and is tuned to particular applications with narrow 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 the quadtree has a single LOD representation that consists of uniform grid over a fixed number of sample points. The rootlevel mesh represents the entire terrain, while deeper levels represent one quarter of the previous level’s area. At run time, the quadtree is traversed and a decision is made about which blocks of terrain should be used to represent the terrain. To visually deal with discontinuities at tile boundaries, vertical wall polygons are constructed between the tile edges. This work was then extended in [6] by associating at each block a precomputed fixed representation, which is chosen among uniform meshes, non-uniform grids, and TINs. This allows nodes that are deep in the tree to represent fine-grained features (such as river beds or roadways) using a TIN representation, while allowing a uniform mesh

Survey on semi-regular multiresolution models for interactive terrain rendering

representation to be at shallower levels in the tree. As in [32], cracks between adjacent blocks of terrain are filled by vertical wall polygons. Other visual crack filling methods include adding flanges around blocks, so that neighboring meshes interpenetrate slightly, as well as joining blocks with special meshes at run-time [59], Even if these methods may seem overly simplistic, since they do not produce continuous levels-of-detail and require work to fix the cracks at block boundaries, and introduce hard to control visual artefacts, they are still very popular, especially for networked applications, mostly because of scalability, ease of implementation, and simplicity of integration with an efficient tile based I/O system. 3.2 Nested regular grids Losasso and Hoppe [37] have recently proposed the geometry clipmap, a simple and efficient approach that parallels with the LOD treatment of images. A pre-filtered mipmap pyramid is a natural representation of terrain data. The pyramid represents nested extents at successive power-of-two resolutions. Geometry clipmaps cache in video memory nested rectangular extents of the pyramid to create view-dependent approximations (see Figure 2). As the viewpoint moves, the clipmap levels shift and are incrementally refilled with data. To permit efficient incremental updates, the array is accessed toroidally, i.e. with 2D wraparound addressing using mod operations on x and y. Transition regions are created to smoothly blend between levels, and T-junctions are avoided by stitching the level boundaries using zero-area triangles. The LOD transition scheme allows independent translation of the clipmap levels, and lets levels be cropped rather than invalidated atomically. Since LODs are purely based on 2D distance from clipmap center, the terrain data does not require precomputation of refinement criteria. Together with the simple grid structure, this allows the terrain to be synthesized on-the-fly, or to be stored in a highly compressed format. For compression, the residuals between levels are compressed using an advanced image coder that supports fast access to image regions. Storing in a compressed form just the heights and reconstructing at runtime both normal and color data (using a simple height color mapping) provides a very compact representation that can be maintained in main memory even for large datasets. The pyramidal scheme limits however adaptivity. In particular, as with texture clipmap-based methods, the technique works best for wide field of views and nearly planar geometry, and would not apply to planetary reconstructions that would require more than one nesting neighborhood for a given perspective. 3.3 Discussion The methods surveyed in this section strive to provide a simple and efficient implementation at the cost of imposing lim-

3

Fig. 2 Geometry clipmap.

itations in adaptivity and approximation quality. In the next sections we will see methods that rely on more complex, but also more powerful data structures. We will first survey quadtree and bin-tree triangulations, i.e. methods able to construct fully continuous levels of details by imposing consistency rules on local subdivision. We will then show how these methods can be made more efficient in terms of raw triangle throughput by employing a cluster based approach.

4 Variable resolution triangulation using quadtree and triangle bin-tree subdivision From the point of view of the rapid adaptive construction and display of continuous terrain surfaces, some of the most successful examples are based on quadtree or triangle bintree triangulation. As we will see, the scheme permits the creation of continuous variable resolution surfaces without having to cope with the gaps created by other regular grid schemes, as those in Section 3. The main idea shared by all of these approaches is to build a regular multiresolution hierarchy by refinement or by simplification. The refinement approach starts from an isosceles right triangle and proceeds by recursively refining it by bisecting its longest edge and creating two smaller right triangles. In the simplification approach the steps are reversed: given a regular triangulation of a gridded terrain, pairs of right triangles are selectively merged. The regular structure of these operations enables to implicitly encode all the dependencies among the various refinement/simplification operations in a compact and simple way. Depending on the definition of the triangulation rule, there is potentially a difference in the adaptive triangulation power of quadtree based triangulations versus triangle bin-trees. Generally, any of the discussed quadtree triangulations can be considered a special case of recursive triangle bisection. Nevertheless, from the refined definition of a restricted quadtree triangulation as presented in [58, 57] and the following works [34, 42] one can arguably consider the restricted quadtree triangulation and triangle bin-tree to produce the same class of adaptive grid triangulations. Hence we use the term restricted quadtree triangulation more in line with [57] rather than with the more strict definition as in [49].

ngulation triangulation In fact, In fact, several several of these of these proposed proposed terrain terrain simplification simplification he o the points pointsandand triangulation triangulation methods methods are are particularly particularly efficient efficient withwith and in-depth in-depthrespect respect to to triangulation triangulation performance performance (i.e.(i.e. [GH95] [GH95] or or nced erenced arti-arti-[Hop98]) [Hop98]) or or LOD LOD adaptivity adaptivity (i.e.(i.e. [Hop98] [Hop98] or [GGS95]). or [GGS95]). tructures. ta structures.4Nonetheless, Nonetheless, the the quadtree quadtree based based triangulation triangulation methods methods outlined outlined in here in here provide provide a more a more compact compact representation representation of the of the terrain terrain sllows. follows. In In (including (including all LODs all LODs up to upfull to full resolution), resolution), better better spatial spatial access, access, related ted work work4.1 Quadtree Triangulation faster LOD LOD triangulation triangulation andand rendering, rendering, andand are are easier easier to to visualization. alization. faster implement as well. as well. Note Note thatthat these these advantages advantages come come at some at some ngulation triangulationInimplement this section we discuss the various algorithms of quadtree expense expense of increased of increased complexity complexity (size) (size) of the of the rendered rendered triantrianndiscusses 5 discussesbased adaptive triangulation of height-fields (or parametric gle gle mesh, mesh, with with the the exception exception of [PAL02]. of [PAL02]. we 6 we review reviewtwo-dimensional surfaces). The closely related triangle sses systemsystem-bisection approaches are discussed in Section 4.2. A typical 3. Quadtree 3. Quadtree Triangulation Triangulation rrain n visualvisual-example of a simplified triangulated surface that can be In this In this section section we we discuss the the various various algorithms algorithms of quadtree of quadtree ection n Section 8. 8.constructed using thisdiscuss class of multiresolution triangulation based based adaptive adaptive triangulation triangulation of height-fields of height-fields (or (or parametric parametric methods is given in Figure 3. two-dimensional two-dimensional surfaces). surfaces). TheThe equivalent equivalent triangle triangle bisection bisection approaches approaches are are discussed discussed in the in the following following Section Section 4. An 4. An lification mplification example example of the of the type type of simplified of simplified triangulated triangulated surfaces surfaces that that veloped ped overover can can be constructed be constructed using using this this class class of multiresolution of multiresolution triantrianyond beyond the the gulation methods methods is given is given in Figure in Figure 1. 1. general eral mesh meshgulation see [HG97, [HG97, ocus o focus more more articularly n particularly ion andand visuvisu-

onal nsional sur-surparticular a particular ngulation triangulation ay riangulatriangulaworks ks (TINs) (TINs) H95] [GH95] sev-sev-Fig. 3 Adaptive quadtree based terrain triangulation. ethods methods are are TINs te TINs effi-effiFIGURE FIGURE 1. Adaptive 1. Adaptive quadtree quadtree based based terrain terrain triangulation. triangulation. amid d [DF89, [DF89,Restricted Quadtrees. Hierarchical, quadtree based aunay ay based basedadaptive 3.13.1 Restricted Restricted Quadtrees Quadtrees triangulation of 2-manifold surfaces has first hierarchire hierarchi-been presented in [62] and applied to adaptively sample Hierarchical, Hierarchical, quadtree quadtree based based adaptive adaptive triangulation triangulation of 2of 2see s, see alsoalsoand triangulate curved parametric surfaces. In parameter manifold manifold surfaces surfaces has has firstfirst been been presented presented in [VHB87] in [VHB87] andand cussed discussed in inspace, the quadtree subdivision is performed recursively applied applied to adaptively to adaptively sample sample andand triangulate triangulate curved curved paraparased on recuron recur-until for each sampled region the Lipschitz condition for metric metric surfaces. surfaces. In parameter In parameter space, space, the the quadtree quadtree subdivisubdivirchical cal multimulti-the parametric curve is met that bounds the accuracy of sionsion is performed is performed recursively recursively untiluntil for for eacheach sampled sampled region region ented d thatthat is isthe resulting polygonal approximation. Furthermore, the the the Lipschitz Lipschitz condition condition for for the the parametric parametric curve curve is met is met thatthat edand vertexvertex-quadtree subdivision is restricted such that neighboring bounds bounds the the accuracy accuracy of the of the resulting resulting polygonal polygonal approximaapproximaperations operationsregions must be within one level of each other in the tion.tion. Furthermore, Furthermore, the the quadtree quadtree subdivision subdivision is restricted is restricted quadtree as shown inmust Figure suchsuch thathierarchy that neighboring neighboring regions regions must be 4. within be within oneone level level of of his paper, paper, a aeacheach other other in the in the quadtree quadtree hierarchy hierarchy as shown as shown in Figure in Figure 2. 2. rid d grid by the by the mplify fy the the ter- terally removed removed wavelet elet coefcoefset is locally is locally ed riangulatriangulaon have have alsoalso econjuncin conjunca) a) b) b)

The basic approach for triangulation and visualization [VHB87], in [S Renato Pajarola, Enrico Gobbettigenerate and tr uses the following steps: TheThe basic approach forfor triangulation andand visualization [VHB87], in in [ basic approach triangulation visualizationpoints [VHB87], on a regu 1. Initial sampling of function on a uniform grid. uses thethe following steps: generate and uses following steps: generate an andt Evaluation of each region with respect to some bottom-up points on a regu points on ar 3. 2. 4-split of unacceptable regions. sampling of function on a uniform grid. 1. 1.Initial Initial sampling of function on a uniform grid. quadtree hierarc acceptance criteria (approximation error metric). bottom-up and bottom-up 4. Repetition of Steps 2 and 3 until adaptive sampling satof each region with respect to some 2. 2.Evaluation The basic for triangulation and visualization [VHB87], [SS9a Evaluation ofapproach each region with respect to somethat edgesinshare 4-split of unacceptable regions. 3. quadtree hierar quadtree hie isfies acceptance criteria over the entire surface. uses the following steps: generate and acceptance criteria (approximation error metric). acceptance criteria (approximation error metric). level do not trian hav Repetition of Steps 2 and 3ofuntil adaptive sampling thatthat edges sharsh points onedges a regular 5. Triangulation and rendering all quadtree regions. sampling of function on a uniform grid. 1. Initial tion as shown in ofacceptance unacceptable regions. 3. 3.4-split 4-split of unacceptable regions. andnot the satisfies thewith entire surface. level do do not ha level of eachover region respect to some bottom-up 2. Evaluationcriteria Repetition of Steps 2 and 3 until adaptive sampling Repetition of Steps 2 and until adaptive sampling quadtree hierarchy acceptance criteria (approximation errorregions. metric). To Triangulation prevent possible cracks inof3the polygonal representiontion as shown as showi and rendering all quadtree 4. that edges shared b satisfies acceptance criteria over thethe entire surface. satisfies acceptance criteria over entire surface. 4-split of unacceptable regions. 3. tation of a restricted quadtree as shown in Figure 5, every level do not have t To prevent possible in the polygonal representaRepetition ofrendering Steps 2 of and until adaptive sampling andcracks rendering all quadtree regions. 4. 4.Triangulation Triangulation and of3 all quadtree regions. tion as shown in Fi quadtree region is triangulated with respect to the resolution tion of a restrictedsatisfies quadtree as shown in Figure 3,surface. every acceptance criteria over the entire prevent possible cracks in the polygonal of itsToadjacent regions. Due towith the of representathe restricted To prevent possible cracks inconstraint the polygonal representaquadtree region is triangulated respect to quadtree the resolution Triangulation and rendering of all regions. 4. tion of of ahierarchy restricted quadtree as as shown in of Figure 3, 3, every quadtree that thetolevels of adjacent regions differ tion a restricted quadtree shown in Figure every of its adjacent regions. Due the constraint the restricted To prevent possible cracks in the polygonal representaquadtree region is triangulated with respect to the resolution at most by one, the regions can be triangulated such that quadtree region is triangulated with respect to the resolution tion of athat restricted quadtree as shown in Figure 3, everyno quadtree hierarchy the levels of adjacent regions differ of its adjacent regions. Due to the constraint of the restricted cracks appear as outlined below. Such crack-free trianguquadtree region isDue triangulated with arespect to the resolution of its adjacent regions. to the constraint of the restricted at most by one, the regions can be triangulated such that no ofcalled its adjacent regions. Due of to the constraint ofregions the restricted quadtree hierarchy that the levels adjacent regions differ lation isappear also conforming. quadtree hierarchy that the levels of adjacent differ FIGURE 5. I cracks as outlined below. Such aof crack-free trianguquadtree hierarchy that the levels adjacent regions differ at most by one, the regions can be triangulated such that no no quadtree sub at most by one, the regions can be triangulated such that lation is also atcalled matching . most by one, the regions can be triangulated such that no FIGURE 5. FIGURE cracks appear as outlined below. Such a crack-free triangucracks appear as outlined below. Such a crack-free trianguFIGURE 5. Imp cracks appear as outlined below. Such a crack-free trianguIn the botto quadtree sub quadtree quadtree subdivi lation is also called matching . . . lation is also called matching lation is also called matching grid is partition InInthe the botto Inbottom-u the bo as shown in Fi grid isispartitioned grid partitio grid is parti complete b as shown inand Figur as as shown F shown in complete andinbala complete andanb complete

FIGURE 3. Cracks (shaded in resulting grey) resulting Cracks (shaded in grey) fromfrom a a Fig. FIGURE 5 Cracks 3. (shaded in grey) resulting from a quadrilateral polygonal representation a restricted quadrilateral polygonal representation of aof restricted representation of aquadrilateral restricted polygonal quadtree.

FIGURE 3. quadtree. Cracks (shaded in in grey) resulting from a a FIGURE 3. Cracks (shaded grey) resulting from quadtree. quadrilateral polygonal The triangulation rule as stated of in [VHB87] is the folquadrilateral polygonalrepresentation representation ofa arestricted restricted The triangulation rule as stated in [VHB87] the folFIGURE 6. Atom quadtree. lowing: Each square subdivided into eight is triangles, two quadtree. The triangulation rule asisstated in [62] is the following: restricted FIGUREquadtr 6. A unless theinto edge eight borderstriangles, a larger square lowing: Eachtriangles squareper is edge, subdivided twoin EachThe square is subdivided into eight triangles, two triangles triangulation rule as stated in [VHB87] is the folThe triangulation rule as stated in [VHB87] is the folrestricted qua which case a single triangle is formed along that edge. The main phas triangles per edge, unless the edge borders a larger square in FIGURE 6. per edge,Each unless the edge bordersinto a ofinto larger square in two which FIGURE Figure 4 shows a subdivided triangulation aeight restricted quadtree following: square is subdivided triangles, lowing: Each square is eight triangles, two ing all mergible which case lowing a single triangle is formed along that edge. The main pm restricted qu this rule. restricted case a single triangle is formed along that edge. Figure 6 quadtree. Nodes triangles per edge, unless the edge borders a larger square in triangles per aedge, unless theofedge borders aquadtree larger square Figure 4 shows triangulation a restricted fol- ining all mergib shows acase triangulation of triangle a restricted quadtree following this be merged: which a single triangle is is formed along thatthat edge. which case a single formed along edge.

lowing this rule.

TheThe main maip

Node mea 1. Error rule. Figure 4 shows a triangulation of of a restricted quadtree fol-fol-quadtree. Figure 4 shows a triangulation a restricted quadtree inging all all mergib mer

by removin be merged: quadtree. beingNod merg quadtree. N Error m 1. error thresh be be merged: merged: by remoc 2. Quadtree Error 1. the Erro 1. size of being mm by neithe remo by re and error thr FIGURE 4. Matching triangulation of a restricted quadtree smaller-siz being beinm subdivision as in [VHB87]. 2. Quadtre error th error The approxima the size No detailed algorithms and data structures are given in further 2. discussed Qua 2.Quadtr [VHB87] to construct and triangulate a restricted quadtree. nei no moreand merges FIGURE 4.Nevertheless, Matching triangulation a restricted quadtree the sizecs the presentedofrestricted quadtree subdivision the and timesmallercost O(n subdivisionand as its in [VHB87]. triangulation forms the fundamental basis on which andandne The alg 4. Matching triangulation of aofrestricted quadtree FIGURE 4. ofMatching triangulation a restricted most the surveyed triangulation approaches arequadtree built. Thesecond approx Fig. FIGURE 6 Conforming triangulation of a restricted quadtree subdivision smaller smal detailedasalgorithms and data structures are given in construction of subdivision in subdivision as[VHB87]. in [VHB87]. as inNo [62]. further discuss 3.2 Quadtree Surface Maps method with [VHB87] to construct and triangulate a restricted quadtree. Thestarts approx The app more NoNo detailed algorithms and data structures given in inno In [SS92], the restricted quadtree technique isare applied to 2.5by one rootmerge node a detailed algorithms and data structures are given Nevertheless, the presented restricted quadtree subdivision further discuss discO surface data consisting on aquadtree. regular 2D- and any,further as necessary time cost [VHB87] to dimensional construct andand triangulate a ofrestricted [VHB87] to construct triangulate apoints restricted quadtree. and its triangulation forms the fundamental basiswith on which no no more more No detailed algorithms and data structures are given grid and each having a height value associated it. This is in maintains atmerg allme t Nevertheless, thethe presented restricted quadtree subdivision Nevertheless, presented restricted quadtree subdivision The second most ofconstruct the surveyed triangulation are built. the common representationaapproaches of grid-digital terrain elevation adjacent leaf node andand time cost time coO [62] to and triangulate restricted quadtree. Neverandand its its triangulation thetothe fundamental basis on on which triangulation forms basis whichconstruction o models. Informs addition thefundamental basic method as presented theless, presented restricted subdivision andinits the hierarchy. TheThe second seco 3.2 Quadtree Surface Maps quadtree most of the the surveyed triangulation approaches areare built. most of the surveyed triangulation approaches built. method starts w a) b) triangulation forms the fundamental basis on which a num- construction o construction ) ) b) b) In [SS92], the restricted quadtree technique is applied to 2.5FIGURE FIGURE 2. Example 2. Example of anofunrestricted an unrestricted quadtree quadtree subdivision subdivision by one root nod 3.23.2 Surface Maps Quadtree Surface Mapsapproaches are built. ber ofQuadtree the surveyed triangulation method starts w method star Fig. 4in parameter Example of anspace unrestricted quadtree subdivision inin parameter in parameter space in a),inand a), and the restricted the restricted subdivision subdivision b).in b). dimensional surface data consisting of points on a regular 2D- any, as necessa space in a), and the restricted subdivision in b). In In [SS92], thehaving restricted quadtree is with applied to 2.5by by oneone root no [SS92], the restricted quadtree technique is applied tois2.5-maintains root grid and each a height valuetechnique associated it. This at a dimensional surface data consisting of points on a regular 2Dany, as necess dimensional surface data consisting of points on a regular 2Dany, as nec Surface Maps. Inof[58, 57], the restricted quadtreeadjacent leaf n the common representation grid-digital terrain elevation 2 2 Quadtree gridgrid andand each having aand height value associated it. This maintains at a having athe height value associated with it.surface This maintains iseach refined applied to 2.5-dimensional models. In addition to basic method as with presented inis isthe hierarchy. The basic approach for triangulation and visualization technique thethe common representation of grid-digital terrain elevation adjacent leaflean common representation of grid-digital terrain elevation adjacent data consisting of points on a regular 2D-grid and each havuses the following steps: models. In In addition to to thethe basic as is presented in in thethe hierarchy. models. addition basic method as presented hierarch ing a height value associated withmethod it. This the common

1. Initial sampling of function on a uniform grid. 2. Evaluation of each region with respect to some acceptance criteria (approximation error metric).

lowing thisthis rule. lowing rule.

representation of grid-digital terrain elevation models. In addition to the basic method as presented in [62], in [58] two efficient construction algorithms to generate and triangulate

ization

Survey on semi-regular multiresolution models for interactive terrain rendering

5

[VHB87], in [SS92] two efficient construction algorithms to generate and triangulate a restricted quadtree from a set of a restricted from aefficient setprovided. of points One onalgorithms a method regular to grid by one root node and splits nodes recursively, never merges points oninaquadtree regular grid are istoperformed isualization [VHB87], [VHB87], in [SS92] two construction algorithms ualization [SS92] two efficient construction are provided. One method is performed bottom-up and the any, as necessary to approximate the data set. The method generate triangulate a restricted quadtree from a set bottom-up and the other top-down to from generate theof restricted generate andand triangulate a restricted quadtree a set of some other top-down to generate the restricted quadtree hierarchy. maintains at all time the restricted quadtree property that points a regular grid are provided. One method isitperformed points on on a regular grid are provided. One method is performed grid. quadtree hierarchy. Furthermore, in [SS92] is also observed d. c). Furthermore, in [58] it is also observed that edges shared by adjacent leaf nodes do not differ by more than one level in bottom-up and the other top-down to generate the restricted bottom-up and the other top-down to generate the restricted ctto tosome sometwo that edgeshierarchy. shared by twosame quadtree nodes onalso thenot same quadtree nodesFurthermore, on the hierarchy level do havehierarchy the hierarchy. quadtree Furthermore, in [SS92] it is observed quadtree hierarchy. in [SS92] it is also observed metric). tric). level do notshared have totwo beconforming split nodes tonodes guarantee a matching tothat be split to guarantee aquadtree triangulation as showntriangulaVerticesthat that can conceptually be removed by merging that edges by quadtree on the same hierarchy edges shared by two on the same hierarchy Vertices Vertices Vertices that thatcan can canconceptually conceptually conceptuallybe be beremoved removed removedby by bymerging merging merging mpling in Figure 7 in comparison to Figure 6. tion asdo shown in Figure inguarantee comparison to Figure 4. four four sibling nodes are called non-persistent. Starting with level not have to be split to a matching triangulalevel do not have to be split to5 guarantee a matching triangulafour four sibling sibling sibling nodes nodes nodes are are are called called called non-persistent non-persistent non-persistent . . . Starting Starting Starting with with with ve sampling face. sampling the root node as shown in Figure 9-a, for each node of the as shown in Figure in comparison to Figure tiontion as shown in Figure 5 in5 comparison to Figure 4. 4. the the the root root root node node node as as as shown shown shown in in in Figure Figure Figure 7-a, 7-a, 7-a, for for for each each each node node node of of of the the the eurface. surface. partially constructed restricted quadtree the non-persistent gions.

select selec sele select selec sele

partially partially partially constructed constructed restricted restricted restricted quadtree quadtree quadtree the the theand non-persistent non-persistent non-persistent ee regions. regions. vertices constructed are identified in the input data set their error esentavertices vertices vertices are are are identified identified identified in in in the the the input input input data data data set set set and and and their their theirerror error error representametric compared to the given approximation threshold. If presentaevery metric metric metric compared compared comparedto totovertex the the thegiven given given approximation approximation threshold. threshold. threshold. IfIfIf ure every any non-persistent is notapproximation within the tolerated thresh3, 3, every any any any non-persistent non-persistent vertex vertex isisisnot not not within within withinthe the the tolerated tolerated tolerated threshthreshthreshe resolution oldnon-persistent it is added to vertex the current quadtree. However, insertion olution esolution he restricted ofititvertices can to complex updates of the quadtree restricted old old old itisisisadded added added to totolead the the thecurrent current current quadtree. quadtree. quadtree. However, However, However, insertion insertion insertionas of of of stricted gions differ outlined below. ons differ vertices vertices vertices can can can lead lead lead to to to complex complex complex updates updates updates of of of the the the quadtree quadtree quadtree as as as outoutouts differ such h thatthat no no FIGUR FIGUR FIGU lined lined linedbelow. below. below. that no Fig. 7FIGURE FIGURE Improved matching triangulation a quadtree restrictedsub5. 5. Improved matching triangulation of aofrestricted Improved conforming triangulation of a restricted triangueree trianguAdditio Additio Addit quadtree subdivision inmatching [SS92]. FIGURE 5. Improved triangulation of a restricted quadtree subdivision as as in [SS92]. as in [58]. riangu- division not not notonl on on quadtree subdivision as in [SS92]. bottom-up construction method, (square) input In In thethe bottom-up construction method, thethe (square) input Vertices that can conceptually be removed by merging The The The p grid isthe partitioned into atomic nodes 3x3 points selected vertices on p lev grid isthe partitioned into atomic nodes of of 3x3 elevation points InIn bottom-up construction method, theelevation (square) input bottom-up construction method, the (square) inputfour sibling nodes are called non-persistent. Starting with selected vertex v2 on le surface surface surface m m m as shown in Figure 6. These nodes form the leaf nodes of a as shown in Figure 6. These nodes form the leaf nodes of a grid is is partitioned intointo atomic nodesnodes of 3x3of elevation points pointsthe root node as shown in Figure 7-a, for each node of the grid partitioned atomic 3x3 elevation complete and balanced quadtree over the entire input grid. O(n), O(n), O(n), line line lin complete and balanced quadtree over the entire input grid. partially constructed restricted quadtree the non-persistent as shown in Figure 8. These nodes form the leaf nodes of a

as shown in Figure 6. These nodes form the leaf nodes of avertices error a) a)a) are identified in the b) b) c) c)c) a) b)b)input data set and their c) metric given approximation threshold. If complete and balanced quadtree over the entire input grid. FIGURE FIGURE FIGURE 7. 7.7.compared Vertices Vertices Verticesto of ofofthe the the the root root rootnode node node(level (level (level0) 0) 0)shown shown shownin inina), a), a),

generated generated generate overall overall overallru r Fig. 9well Vertices of non-persistent the root nodeis(level 0) shown in a), as well as the anyas non-persistent vertex not within the tolerated threshas as as well well as asthe the the non-persistent non-persistent vertices vertices vertices of ofoflevel level level 111in ininb) b)b)and and and data data data set set set s non-persistent 1 inquadtree. b) and level 2 in insertion c). old it isvertices added toof thelevel current However, of level level level222inininc). c). c). vertices can lead to complex updates of the quadtree as outa) contrast contrast contrast t t from om a a FIGURE 9. Initial tr lined below. restricted To To Topermanently permanently permanently maintain maintain maintainaaarestricted restricted restrictedquadtree, quadtree, quadtree,the the theinserinserinsertricted correctly correctly correctly Addition of vertex v2 o not onlyas within the par tion tion tionof of ofaapermanently avertex vertex vertexcan can canmaintain lead lead leadto totopropagated propagated splits splitsin ininthe the theparent parent parent as asdiscuss discus discus To apropagated restricted splits quadtree, the inserm athe and and and adjacent adjacent quadtree quadtree quadtree nodes. nodes. nodes. As As Asshown shown shownin ininFigure Figure Figure 8, 8,8,itparent ititmay may may s] is the fol-foltionadjacent of a vertex can lead to propagated splits in the The proposed top-dm Both Both Both FIGURE Atomic leaf-node bottom-up construction FIGURE 6. 6. Atomic leaf-node for for bottom-up construction of of surface mesh processes cted angles, and adjacent quadtree nodes. As shown Figureno 10, it may gles, twotwo happen happen happen that that thataaanode node nodeon on onlevel level levelll lisis isnot not not split split splitin because because because no novertices vertices vertices chical chical chicalqua qu qu restricted quadtree. O(n), linear in the size restricted quadtree. er square happen that a node on level l is not split because no versquare in in of of of level level levelll+1 +1 l+1are are are inserted, inserted, inserted, however, however, however, aaavertex vertex vertex vvv on on onlevel level level ll+2 +2 l+2 ity ityfor for forins ins in a) b) c) 222 generated ity quadtree no edge. tices of l +This 1This areinsertion inserted, however, vertex v2 on level hatthat edge. The main phase method then consists coalesc- has The main phase of of thisthis method then consists of of coaleschas has to totobe be belevel added. added. added. This insertion insertion cannot cannot cannot be be be performed performed performed directly directly directly FIGURE 7. Vertices of the root node (level 0)a shown in a), overall run-time is sti piece-wis piece-wis piece-wi he foluadtree as the non-persistent vertices of cannot 1 in b) and l + 2no has towell be as added. This insertion be performed dtree fol-fol- inging all mergible nodes bottom-up to create restricted mergible nodes bottom-up create thethe restricted data set since all verti since since no noparent parent parent node node node covering covering covering vv2v22has has haslevel been been been created created created yet yet yet on on on Fig. 8all Atomic leaf-node for bottom-uptofor construction ofconstruction restricted since level 2 in c). and and and for for for FIGURE 6. Atomic leaf-node bottom-up of es, two quadtree. directly since no parent node covering v has been created contrast to the bottomquadtree. Nodes must pass two main criteria before they can 2 quadtree. Nodes must pass two main criteria before they can level level level l l +1. +1. l +1. First First First the the the parent parent parent node node node of of of v v v and and and its its its siblings siblings siblings on on on level level level 2 2 2 restricted restricted restricte restricted quadtree. To permanently maintain a restricted quadtree, the insercorrectly calculates the yet on level l + 1. First the parent node of v2 and its siblings merged: uare in be be merged: ll+1 +1 l+1have have have to toto be be bevertex inserted inserted inserted by by by splitting splitting splittingthe the thesmallest smallest smallest node node node on on on the tion of a can lead to propagated splits in the parent as discussed in Section the the result resul resu on level l + 1 have to be inserted by splitting the smallest Error measure: The approximation error introduced 1.Error t edge. measure: The approximation error introduced 1.The and adjacentvvquadtree nodes. As shown in Figure 8, it may splits main phase of this method then consists of coalesclevel level level enclosing enclosing into intofour four four nodes. nodes. Such Such Such propagated propagated propagated splits splits Both methods 2v22into rithms rithms rithmspres are ara nodell lenclosing on levelthatl aenclosing v2lnodes. four nodes. Such propaThe main phase of this method then consists of coaby removing the edge mid-point vertices of the nodes happen node on level isinto not split because no vertices by removing the edge mid-point vertices of the nodes chical quadtree data st ee fol- lescing can can can occur occur occur over over over multiple multiple multiple levels. levels. levels. ing allbeing mergible nodes bottom-up to create the restricted gated splits can occur over multiple levels. allbeing mergible nodes bottom-up to create the restricted triangulat triangula triangula of level l+1 are inserted, however, a vertex v2 on level l+2 ity for inserting merged must within tolerance a given merged must be be within thethe tolerance of of a given vertice to be added. This cannot be quadtree. Nodes mustmust pass pass two main before they can theyselected quadtree. Nodes two criteria main criteria before can error threshold. selected selected vertices vertices vertices on on onlevel level level l l linsertion selected selected selected vertex vertex vertex vv2v2directly on onlevel level levelalgol l+piece-wise l++222 efficiency efficiency efficienc error threshold. linear surfa Forhas further details, in particular ofperformed the top-down 2on since no parenton node covering has been created yet on added added vertices vertices vertices on on onlevel level level not not notselected selected selected vertices vertices vertices on onlevel level level l l+l++111 v2added l l+l++111 bebemerged: and for merging and Quadtree constraints: The size node is equal 2.Quadtree algorithm we refer to the detailed description of surmerged: constraints: The size of of thethe node is equal to to rithm 2. large large large terra ter not not notselected selected selected vertices vertices vertices on on onlevel level levell l+l+ added vertices vertices vertices on on on level level level +222 of vadded l l l restricted quadtree terr level l+1. First the parent node and its siblings on level 2added nod the size of its three siblings in the quadtree hierarchy, face maps from restricted quadtrees in [57]. the size of its three siblings in the quadtree hierarchy, basic basic basic trian tria tria l +1 have to be inserted by splitting the smallest node on 1. Error measure: The approximation error introduced by measure: The approximation error introducedlevel l enclosing v into four nodes. Such propagated splits the resulting matching 1. Error neither node siblingshave have andandneither thethenode nornorits itssiblings anyany 2 rithms are capable of c quadtree removing the edge mid-point vertices of the nodes of be-the nodescan occur over multiple adtree by removing the edge mid-point vertices 3.3 3.3 3.3Cont Con Con levels. smaller-sized neighbors. smaller-sized neighbors. triangulations within th ing merged must be within the tolerance of atolerance given error being merged must be within the of a given selected vertices on level l selected vertex v2 on level l + 2 efficiencyA isAdifferen not optim A differe differ The approximation error Criterion 1 used [SS92] The approximation error of of Criterion 1 used in in [SS92] is is added vertices on level l + 1 not selected vertices on level l + 1 threshold. large terrain data sets are given given in in further error threshold. not selected vertices on level added vertices on level l + 2 l quadtree quadtree quadtree discussed Section The algorithm terminates further discussed in in Section 5. 5. The algorithm terminates if if basic triangulation algo d quadtree. 2. Quadtree constraints: The size of the node is equal to the quadtree. merges performed, and it has a the linear space Quadtree constraints: The node is equal to 2.more no no more merges cancan be be performed, and itsize has aof linear space triangle triangle trianglef size of its three siblings in the quadtree hierarchy, and 3.3 Continuous LOD subdivision bdivision in the size n of input data set. time cost O(n) in nor the size n of thethe input data set. andand time cost O(n) grid-digit grid-digit grid-dig the size of its three siblings in the quadtree hierarchy, neither the node its siblings have any smaller-sized is on which A different approach to on which The second algorithm presented in [SS92] is a top-down neighbors bottom-up bottom-u bottom-u The second algorithm presented in [SS92] is a top-down quadtree is presented and neither the node nor its siblings have any e built. built. tree triangle fusion . Startin constructionof ofthetherestricted restrictedquadtree quadtreehierarchy. hierarchy.This This construction pairs. pairs. pairs. Th Th T a) a) a) b) b) b) smaller-sizederror neighbors. The approximation oftheCriterion 1 set used in [58] is grid-digital terrain dat method starts with representing the entire data set simplified method starts with representing entire data simplified Figure Figure Figure 10 10 1 FIGURE FIGURE FIGURE8. 8.8.Starting Starting Startingtriangulation triangulation triangulationof ofofaaanode node nodeon on onlevel level levell l lisisbottom-up is by consecu discussed inand Section 6. The algorithm terminates plied The approximation error ofrecursively, Criterion 1 used inif[SS92] is ininina). one root node splits nodes never merges ed to to 2.5-2.5-further by by one root node and splits nodes recursively, never merges shown shown shown a). a).No No Novertices vertices vertices are are are initially initially initially selected selected selected on on on level level level l +1. l +1. l +1. tom-up tom-up tom-up tr tr pairs. The full resolut a) iven in2D-no more merges can beapproximate it set. has a linear space a) b)b) to regular any, necessary the data set. The method gular 2Dany, as as necessary to to approximate data The method The The The selection selection of8. ofaaStarting avertex vertex vertex on on onlevel level levellof+2 l+2 l+2 leads leads to forced forced forced splits splits further discussed inperformed, Sectionthe 5.and The algorithm terminates ifselection Figure 10-a is equivale FIGUREof triangulation a leads node onto level l is splits performed performe perform time cost O(n) in the size n of the input data set. thatthat Fig. adtree. th it. This at all time restricted quadtree property shown in a). No vertices initially selected on +1. it. This is isand and and and added added vertices vertices vertices on on on previous previous previous levels levels levels as as asshown shown shown inininlb). b). b). in a).tom-up maintains at all time thethe restricted quadtree property 10added Starting triangulation ofare a node on level l islevel shown No triangulation m nomaintains more merges can be performed, and it has a linear space First, First, First,in inina The selection of a vertex on level to forced splits The second algorithm presented in [58] is top-down performed in two pha in elevation adjacent initially selected on level l +l+2 1. leads The selection of a vertex on adjacent nodes differ more than level elevation ivision leafleaf nodes do do notnot differ by by more than oneaone level in in vertices are and added vertices on previous levels as shown in b). where in the size n of the input data set. and time cost O(n) and and and a a a in ini Not Not Not fully fully fully covered covered covered in in in [SS92] [SS92] [SS92] is is is the the the situation situation situation where where splits splits splits construction of the restricted quadtree hierarchy. This First, in an atomic level l + 2 leads to forced splits and added vertices on previous levels r r rnod presented hierarchy. sented thethe hierarchy. whichin inmethod and ar in and Figure 10-b) fullyto covered in [SS92] is vertically the situation up where splits asnot shown inNot b). starts with representing the entire data set simplified and and the the the do do do not not only only only have have have to to be be be propagated propagated propagated vertically vertically up up in in in the the the hierarhierarhierarThe second algorithm presented in [SS92] is a top-downdo not only have to be propagated vertically up in the hierar- and the mid-point onm ilt. removed. removed chy chybut but butalso also alsohorizontally horizontally horizontallyto totoother other otheradjacent adjacent adjacentnodes nodes nodesas as asshown shown shown removed. 3 3 chy construction of the restricted quadtree hierarchy. Thischy but also horizontally to other adjacent nodes as shown removed. In the secon region region regionby isisism in ininFigure Figure Figure 9. 9.To To To9. resolve resolve resolve such such such conflicts, conflicts, all alladjacent adjacent adjacent nodes nodes of of ofis removed region in9. Figure To resolve suchconflicts, conflicts, allall adjacent nodesnodes of method starts with representing the entire data set simplified the diagonal (i.e. el and any quadtree that is splithave have bebe visited and updated the the the diagon diago diag any any anyquadtree quadtree quadtree node node nodenode that that that isisissplit split split have havetoto toto be bevisited visited visited and and andupdated updated updated accordingly. This split propagation to spatially adjacent vent cracks from occu to 2.5- by one root node and splits nodes recursively, neveraccordingly. merges vent ventcrack crac cra accordingly. accordingly. This This Thissplit split splitpropagation propagation propagationto totospatially spatially spatiallyadjacent adjacent adjacent vent nodes can in the worst case affect all nodes of the current two pairs of isoscele lar 2D- any, as necessary to approximate the data set. The nodes method two two two pairs pair pai nodes nodescan can can in in in the the the worst worst worst case case case affect affect affect all all all nodes nodes nodes of of of the the the current current current quadtree, however, in the expected case will only influence removed base vertex e , e (i.e. both pairs quadtree nodes within a limited neighborhood. This is maintains at all time the restricted quadtree property that l r an removed removed quadtree, quadtree, quadtree,however, however, however,in ininthe the theexpected expected expectedcase case casewill will willonly only onlyinfluence influence influence removed evation adjacent leaf nodes do not differ by more than one quadtree (i.e. (i.e. (i.e.both both both quadtree quadtree nodes nodeswithin within withinaaalimited limited limitedneighborhood. neighborhood. neighborhood. level in nodes complete and balanced quadtree over the entire input grid.

Figure Figure Figure 12-a, Figure 12-a, each 12-a, each 12-a, quad eac q traversal traversal traversal is traversal stopped is stopped is stop is ws fr fr fr fr dl dl dl brdl br br br vided. vided. vided. In alternating vided. In alternating In alterna In alte or fl fl elfl elfl el el dr dr dr bldr bl bl bl are are visited are visited are visited left-first visited left-first left-fi as le er er er er al aalr arl arl ar or right-first or right-first or right-first or right-first as for as for as the Figure Figure Figure 12-b. Figure 12-b. Based 12-b. Based 12-b. Bas on a) a) a) a) b) b) b) b) c) c) c) c) outputted and outputted and outputted outputted to form to fo to FIGURE FIGURE FIGURE 10. FIGURE 10. Full10. Full resolution 10. Full resolution Full resolution resolution triangulation triangulation triangulation triangulation shown shown shown in shown in a). a). in a). in and a). and Renato Pajarola, Enrico Gobbetti Merging Merging Merging of Merging triangle of triangle of triangle pairs of triangle pairs along pairs along pairs the along the bottom along the bottom the bottom boundary bottom boundary boundary edge boundary edge edge edge cient cient rendering cient rendering cient rendering renderin (see(see [LK ( cr

6

ccrl

clr

clr

cl

shown shown in shown b)in shown and b)inand along b)inand along b)the and along the diagonal along diagonal the diagonal the in diagonal c). in c).in c).in c).

The proposed top-down algorithm to create an adaptive surface mesh processes the entire data set and thus its cost is O(n), linear in the size n of the input. While the number of generated quadtree nodes is indeed output sensitive, the overall run-time is still directly proportional to the input data set since all vertices have to be visited. However, in contrast to the bottom-up algorithm, this top-down method correctly calculates the approximation error at each vertex as discussed in Section 6. Both methods presented in [58,57] operate on a hierarchical quadtree data structure that must provide functionality for inserting vertices, calculating distance of a vertex to a piece-wise linear surface approximation, neighbor finding, and for merging and splitting nodes. Furthermore, the restricted quadtree nodes must be post-processed to generate the resulting conforming triangulation. The presented algorithms are capable of creating adaptive and continuous LOD triangulations within the limits of the error metric. However, efficiency is not optimized for real-time rendering of very large terrain data sets due to the input sensitiveness of the basic triangulation algorithms. Continuous LOD Quadtree. A different approach to generate and triangulate a restricted quadtree is presented in [34] based on the notion of triangle fusion. Starting with a triangulation of the entire grid-digital terrain data set the triangle mesh is simplified bottom-up by consecutive merging of symmetric triangle pairs. The full resolution grid triangulation as shown in Figure 11-a is equivalent to the atomic leaf nodes of the bottom-up triangulation method in [58]. Triangle merging is performed in two phases as shown in Figure 11-b and c. First, in an atomic node pairs of isosceles triangles (i.e. al and ar in Figure 11-b) sharing a short edge are coalesced and the mid-point on the boundary edge of the quad is removed. In the second phase the center vertex of a quad region is removed by merging isosceles triangle pairs along the diagonal (i.e. el and er in Figure 11-c). However, to prevent cracks from occurring due to triangle merging, always two pairs of isosceles triangles that all share the same removed base vertex must be coalesced at the same time (i.e. both pairs el , er and fl , fr in Figure 11-c).

OneOne ofOne the ofOne the of main the main of contributions the main contributions main contributions contributions of [LKR of [LKR of+[LKR 96] of+[LKR 96] is+the 96] is+the 96] introis the introis the introintro-

q

q

q

q

the midpoint of of thevertex bottom edgecan on level l,bethe base vertex 2 2 2 2 duction duction duction ofduction vertex of vertex of vertex dependencies dependencies dependencies dependencies thatthat that can be that can be used can used betoused prevent toused prevent to prevent to prevent q3 q3 qq13 q1q3 q1 q of triangles acreate and armatching , cannot betriangulations part of aat conforming tri- q0 q0 q0 q0 l and cracks cracks cracks andcracks and create and create matching matching create matching triangulations triangulations triangulations at variable at variable variable atLOD. variable LOD. LOD. LOD. angulation ifexample, the center vertex of the quad region, the ForFor example, For example, For example, considering considering considering considering Figures Figures Figures 10-b Figures 10-b and 10-b and 10-b 10-c and 10-c it and 10-c isit 10-c clear isitclear isit clear is base clear vertex of ethe emidpoint is the missing. Orbottom from the opposite viewpoint, thatthat thethat the midpoint that midpoint midpoint of the bottom of the bottom of the bottom edge edge on edge level onedge level onl,level on the l,level the base l, the base l,verthe base verbase ver-ver- a) a) a) a) r , of l , the FIGURE FIGURE FIGURE 12. FIGURE 12. Recursiv 12. Recu 1R textex of triangles tex of triangles tex of triangles ofatriangles al and atriangles acannot cannot ar, cannot abe beerpart be of part be aofmatching part aof trianmatching triantrianthe base vertex of ,part and flmatching , aoffmatching betrianrer acannot l and lr,and rl ,and re,lcannot generation. generation. generation. generation Initial Initial orde Ini gulation gulation gulation the if the if center center ifthe the center vertex center vertex vertex ofvertices vertex of thethe of quad the of quad region, quad region, quad region, theregion, the base the base the base moved ififgulation any ofthe base ofthe triangle pairs albase , awith , r with left-first with left-first with left-first traversal left-firs traver tra vertex vertex of evertex of, eof, eis eof,missing. is ee ,missing. is e ,missing. isOr missing. Or from from Orthe from Orthe opposite from the opposite the opposite viewpoint, opposite viewpoint, viewpoint, viewpoint, right-first right-first right-first traversal right-first traversal trave oftre bvertex l , br , cl , cl r rlor rldl ,rldr r persists. These constraints of a conthethe base the base vertex the base vertex base vertex of triangles of vertex triangles of triangles ofetriangles and eerl,and efelr,l,and ffrel,rcannot fand , frflcannot ,define be fr cannot removed be removed be be removed l, erl,triangulation rflcannot forming restricted quadtree a removed binary, hiDespite Despite Despite the Despite the fact the facth t if any if any if ofany the of if any the of base the base ofvertices the base vertices base vertices ofvertices triangle of triangle of triangle ofpairs triangle pairs apairs ,aarpairs ,,abarl,,b ,abrarl,,b ,l,a cbrl,c ,rl,b crblr,c ,l,brclr,c , rcl,cr l l l erarchical dependency relation between vertices ,as shown quadtree quadtree quadtree can quadtree can becan be repres can rep be or dorl,ddor ,d persists. d or ,d persists. d ,d persists. These persists. These These constraints These constraints constraints constraints of a of matching a of matching a of matching a matching restricted restricted restricted restricted rl r l r l r inquadtree Figure 12. Each vertex todefine beaincluded inhierarchical adepentriangulation strips strips are strips are strips formed are formed are forme forfor fo i quadtree quadtree triangulation quadtree triangulation triangulation triangulation define define define a binary, a binary, binary, ahierarchical binary, hierarchical hierarchical dependependepenFor For each For each frame For each frame each frame a block afram bl depends on two other vertices the lower resodency dency dency relation relation dency relation between relation between between vertices between vertices vertices asvertices shown as(on shown as shown in as Figure shown insame Figure in Figure 11. inor Figure 11. Each 11. Each 11. Each Each error error error metric metric error metric is metric is used us is lution level) included first. Therefore, triangulation vertex vertex vertex to be to vertex included be toto included be tobe included bein included aintriangulation aintriangulation aintriangulation a triangulation depends depends depends on depends two onatwo on other two on other two other other restricted) restricted) restricted) restricted) quadtree quadtree quadt su qu of a (restricted) quadtree is a conforming triangulation only vertices vertices vertices (on vertices (on the (on the same (on the same the same or or same lower or lower or lower resolution lower resolution resolution resolution level) level) level) to level) to be be to be to be block block block b ∈bblock S∈of bS ∈this of bS ∈this of sub S to ifincluded no such dependency violated. The included included first. included first. Therefore, first. Therefore, first. Therefore, Therefore, arelation triangulation a triangulation a triangulation aistriangulation of of a (restricted) aof (restricted) aof (restricted) a triangula(restricted) is applied is applied is applied istoapplied achieve to achiev to ach toa quadtree quadtree quadtree isquadtree aismatching aproposed ismatching aismatching a matching triangulation triangulation triangulation only only ifonly no if only no such if resolves such no ifdepensuch nodepensuch dependepention method in triangulation [34] recursively the deincluded included included inincluded the in the triangul in the trian in th tr dency dency dency relation dency relation relation is relation violated. is violated. is violated. is The violated. The triangulation The triangulation The triangulation triangulation method method method promethod propropropendency relations of a+set S of selected vertices (i.e. alldencies verdencies dencies are dencies are resolved are resolve are reso ar + + + posed posed posed in posed in [LKR [LKR in [LKR in 96] [LKR 96] recursively 96] recursively 96] recursively recursively resolves resolves resolves the resolves the dependency the dependency the dependency dependency tices exceeding a given error tolerance) as follows: Fortriangulation. each triangulation. triangulation. triangulation. Finally, Finall Fin f relations relations relations of relations of a set a of set S a of of set S a of selected set S selected of S selected of vertices selected vertices vertices (i.e. vertices (i.e. all (i.e. all vertices (i.e. all vertices all vertices vertices vertex v ∈ S, all its dependent parents according to the gledegle strip gle strip isgle strip generated is strip generated is gener is ge an exceeding exceeding exceeding exceeding a given a given a error given a error given tolerance) error tolerance) error tolerance) tolerance) as follows: as follows: as follows: asFor follows: For each For each verFor each vereach ver-verpendency rules shown inparents Figure 12 are recursively activated TheThe triangulation The triangulation The triangula triang m textex v ∈tex vS∈,tex vall S∈ , all vits S∈ , its dependent all S , dependent its all dependent its dependent parents parents according parents according according according to the to the to depenthe depento the dependepenand included inshown the as well. efficient efficient efficient inefficient terms in terms in of term in re of te dency dency dency rules dency rules shown rules rules shown intriangulation shown Figure in Figure in Figure in 11 Figure 11 are11 are recursively 11 are recursively are recursively recursively activated activated activated activated

tiontion algorithm tion algorithm tion algorithm algorithm is outpu is out is sion sion is sion performed is sion performed is performe is perfo topto levellevel l level l level l l levellevel l level l level l level l level l+1 level l+1 level l+1 l+1 levellevel l+1 level l+1 level l+1 l+1 all all vertices vertices all vertices allonvertices on thethe on high th oh rendering rendering rendering rendering primitives primitives primit pri in for for optimized for optimized for optimized optimize renderin rendr dependent dependent dependent dependent error error metric error me er bound, bound, bound, it is bound, itvery isitvery isefficie itvery iseffv simplification rain simplification rain simplificat simplifw a) a) a) a) b) b) b) b) b) c) c) c) c) c) d) d) d) d) d) rainrain a) results. results. results. results. FIGURE FIGURE FIGURE 11. FIGURE 11. Dependency 11. Dependency 11. Dependency Dependency relation relation relation of a relation ofrestricted aofrestricted aofrestricted aquadtree restricted quadtree quadtree quadtree Fig. triangulation. 12 triangulation. Dependency relation of center a restricted triangulation. triangulation. triangulation. TheThe center The center The center vertex vertex vertex in a) vertex in a) depends inquadtree depends a) in depends a) on depends on the on the on the 3.4 theThe 3.4 Restricted 3.4 Restricted 3.4 Restricted Restrict Quad Qu center vertex a) two depends of region. two corners of its quad inclusion inclusion inclusion ofin inclusion two of of corners two corners of two corners ofon corners its ofthe quad its ofinclusion quad its ofregion. quad itsregion. quad region. The The boundary The boundary The boundary boundary The The Restricted The Restricted The Restricted Restrict Quadt Qu edge edge midpoints edge midpoints edge midpoints in midpoints b) in depend b)in midpoints depend b)in depend b) on depend on the in the on center on center the vertex center vertex center of vertex of vertex the of the of the region. The boundary edge b)the depend on the center vertex quad quad region. quad region. quad region. Dependencies region. Dependencies Dependencies Dependencies within within and within and within between and between and between the between the next the next the nextnext presented presented presented presented in [Paj98a, in [Paj98a in [Pa inP of the quad region. Dependencies within and between the next resoluresolution resolution resolution levels are levels are shown levels shown in are shown c) in shown and c)inand d). c)inand d). c) and d). d). tion resolution levels arelevels shown in c)are and d). time time terrain time terrain time terrain visualizatio terrain visualiz visuv on athe quadtree aonquadtree aonquadtree a hierarchy quadtree hierar hi Another Another Another important Another important important important feature feature feature presented feature presented presented presented in [LKR in [LKR in+[LKR 96] in+[LKR 96] is+the 96] is+the 96] is the is on dency relation relation dency relation presented relation prese pr construction construction construction construction of triangle of triangle of triangle ofstrips triangle strips for strips for strips fastfor fast rendering. for fast rendering. fast rendering. rendering. In fact, In fact, Ina fact, Ina fact, a dency a dency Another feature presented [34] matching quadtree matching quadtree quadtre trian qua tr triangulation triangulation triangulation triangulation ofimportant aofrestricted aofrestricted aofrestricted a restricted quadtree quadtree quadtree can quadtree can becan be represented can represented be in represented be represented by byismatching bythe by matching 1 1 1to1 the earlier up construction of triangle strips, similar work up triangulation triangulation up triangulation up triangulati algorith algoa oneone single one single one single generalized single generalized generalized generalized triangle triangle triangle strip. triangle strip. strip. The strip. The triangle The triangle The triangle strip triangle stripstrip strip +[LKR +[LKR maintained in ainregion ain regio ain re q ingeneration [24], for fastmethod rendering. In [LKR ais+96] triangulation of amaintained generation generation generation method method described method described described described in in [LKR infact, in 96] 96] based is+96] based is based on is based on a on a maintained on a maintained approximation approximation error error ass er restricted quadtree can bethe byquadrants one recursive recursive recursive recursive pre-order pre-order pre-order pre-order traversal traversal traversal of traversal of represented the of triangular the of triangular the triangular triangular quadrants quadrants quadrants of ofsingle of approximation of approximation 1a.with quadtree quadtree quadtree hierarchy quadtree hierarchy hierarch can hiera ca b quadtree quadtree quadtree blocks. quadtree blocks. blocks. Starting blocks. Starting Starting with Starting with counterclockwise a with counterclockwise a counterclockwise a counterclockwise ordering ordering ordering ordering generalized triangle strip The triangle strip generation regular regular regular grid regular grid input grid input grid data inpu da i of of triangular of triangular of triangular triangular quadrants quadrants quadrants quadrants of of the the root of the root the node root root node as node shown as shown as shown inpre-order shown in in in method described in [34] is of based onnode aas recursive recursive recursive recursive functions, recursive functions, function func and andand included and included and included inincluded the in the triangulation in the triangulation in the triangulation triangulation as well. as well. as well. as well.

traversal ofgeneralized the triangular quadrants of quadtree blocks. 1. generalized 1. generalized 1. generalized 1. triangle triangle triangle strips strips triangle allow strips allow swap strips allow swap operations. allow swap operations. swap operations. operations. Starting with a counterclockwise ordering of triangular Figure Figure12-a, 12-a, each each quadrant quadrant recursively recursively traversed traversed and the the quadrants of the root node asisisshown in Figure 13-a, and each ccrr ccl l quadrant traversed and the traversal is stopped traversal traversalisisrecursively is stopped stopped when when aa triangle triangle isis not not further further subdisubdifrfr when a In triangle is notorder, further subdivided. In alternating bbrr ddl l vided. vided. In alternating alternating order, children children of of triangular triangular quadrants quadrants eel l flfl order, children of triangular quadrants are visited left-first ddrr (and (and in in Figure Figure 12-c), 12-c), are are visited visited left-first left-first as as for for quadrant quadrant q q bbl l 0 0 eerr asor quadrantas q0for (and Figure 13-c), em level right-first as in aal l aarr orfor right-first right-first as for the theintriangles triangles in in the theornext next level shown shown in for the triangles in the next level shown in Figure 13-b. Figure Figure 12-b. 12-b. Based Based on on this this traversal, traversal, vertices vertices can can be be ordered ordered a) a) b) b) c) c) a) b) c) Based on this traversal, vertices can be ordered and output and and outputted outputted to to form form aa generalized generalized triangle strip for for effieffiFIGURE FIGURE 10. 10. Full Full resolution resolution triangulation triangulation shown shown inin a). a). strip fortriangle efficientstrip rendering ++96] Fig. 11 Fullof resolution triangulation shown in a).boundary Merging ofedge triangle to form a generalized triangle Merging Merging of triangle triangle pairs pairs along along the the bottom bottom boundary edge cient cient rendering rendering (see (see [LKR [LKR 96] for for code code details). details). pairs along the bottom boundary edge shown in b) and along the diag- (see [34] for code details). shown shown b)and andalong alongthe thediagonal diagonalininc). c). onal in c).ininb) Despite the fact that an entire triangulated restricted 11 11 88 55 44 77 12strip, 10 10 99triangle One One of of the the main main contributions contributions of of [LKR [LKR++96] 96] isis the the introintro- quadtree can qq22 be represented by one triangle12 33 66 66each 13 13 For strips areqqformed for individual blocks only in [34]. q q duction duction of of vertex vertex dependencies dependencies that that can can be be used used to to prevent prevent 11 One of the main contributions of [34] is the introduction frame a 33block-based 14 14 55error 77 22 view-dependent image-space qq00 cracks cracks and and dependencies create create matching matching triangulations atat variable variablecracks LOD. LOD. 15 15 11 22 44 of vertex thattriangulations can be used to prevent metric is used (see Section 005) 1to 1 form a (non-restricted) 33 00 For For example, considering considering Figures Figures 10-b 10-b and 10-c 10-cLOD. itit isis clear clear andexample, create conforming triangulations atand variable For c) c) 1 a) a) b) b) example, considering 11-c ll,it,the is clear that generalized triangle strips allow swap operations that that the themidpoint midpoint of ofthe theFigures bottom bottom11-b edge edgeand on onlevel level the base baseververFIGURE FIGURE 12. 12. Recursive Recursive quadtree quadtree traversal traversal for for triangle triangle strip strip tex texof oftriangles trianglesaalland andaarr,,cannot cannotbe bepart partof ofaamatching matchingtriantriangeneration. generation. Initial Initial order order of of triangular triangular quadrants quadrants shown shown inin a) a) gulation gulation ifif the the center center vertex vertex of of the the quad quad region, region, the the base base with with left-first left-first traversal traversal for for odd odd subdivisions subdivisions shown shown inin b), b), and and vertex vertex of of eel,l, eerr,, isis missing. missing. Or Or from from the the opposite opposite viewpoint, viewpoint, right-first right-firsttraversal traversalof ofeven evensubdivision subdivisionsteps stepsshown shownininc). c). the thebase basevertex vertexof oftriangles triangleseel,l,eerrand andffl,l,ffrrcannot cannotbe beremoved removed Despite Despite the the fact fact that that an an entire entire triangulated triangulated restricted restricted ifif any any of of the the base base vertices vertices of of triangle triangle pairs pairs aal,l,aarr,, bbl,b l,brr,, ccl,c l,crr quadtree quadtree can can be be represented represented by by one one triangle triangle strip, strip, triangle triangle or or ddl,d persists. These These constraints constraints of of aa matching matching restricted restricted l,drr persists. strips strips are are formed formed for for individual individual blocks blocks only only in in [LKR [LKR++96]. 96]. quadtree quadtree triangulation triangulation define define aa binary, binary, hierarchical hierarchical dependepen-

. e

ntrotrorovent vent ent OD. OD. OD. clear lear ear ververeraniananbase ase ase oint, int, int, oved ved ved clc,c l,c l,c rrr cted cted ted penenenEach ach ach her ther her o be be be ed) ted) ed) penenenproproroency ncy ncy ces ices ces ververerpenenenated ated ted

e e y e t

sthe the the ct, t,, aaa dby by by strip trip rip n aaa non ssof of of ring ing ing n in inin

traversal traversalisisisstopped stopped stoppedwhen when whenaaatriangle triangle triangleisisisnot not notfurther further furthersubdisubdisubditraversal vided. vided.In In Inalternating alternating alternatingorder, order, order,children children childrenof of oftriangular triangular triangularquadrants quadrants quadrants vided. (and (andin ininFigure Figure Figure12-c), 12-c), 12-c), are arevisited visited visitedleft-first left-first left-firstas as asfor for forquadrant quadrant quadrantqq0q00(and are or orright-first right-first right-firstas as asfor for forthe the thetriangles triangles trianglesin ininthe the thenext next nextlevel level levelshown shown shownin inin or Figure Figure12-b. 12-b. 12-b.Based Based Basedon on onthis this thistraversal, traversal, traversal,vertices vertices verticescan can canbe be beordered ordered ordered Figure and and outputted outputted totoform form form generalized generalized triangle triangle strip strip for foreffieffieffiand outputted to aaageneralized triangle strip for Survey on semi-regular multiresolution models for interactive terrain rendering + + + cient cientrendering rendering rendering(see (see (see[LKR [LKR [LKR96] 96] 96]for for forcode code codedetails). details). details). cient 555 444

qq2q22

333

666

qq1q11

qq3q33

777

qq0q00

222 000 111

1111 11 888 1212 10 1010999 777 12 1313 666 13 1414 14 555 1515 111 222 444 15 333 000

the storage cost effectively down to the elevation and approximation error values per vertex. As shown in [Paj98b], for each point Pi,j of the 2 k + 1 × 2 k + 1 height-field grid its level l in the implicit quadtree hierarchy can efficiently be determined by arithmetic and logical operations on the integer index values i and j, see also Figure 13. Furthermore, it is also observed a) that the dependency relation of Figure 11 can be expressed 7 FIGURE 14. Generali by arithmetic expressions as functions of the point’s index its Hamiltonian path o i,j. The implicit definition of quadtree levels and dependency relations between points by arithmetic functions 3.5 4-8 Meshes allows pointer-based the top-down and bottom-up algorithms presented hierarchical data structure. (See also in [56]The forclass of 4-8 meshe to run on veryquadtrees.) fast and directly on the array of the efficient[Paj98a] operations a quadtree subdivision height-field grid data instead of relying on a hierarchical Figure 15, which in i pointer-based data structure (i.e. as in [SS92]). equivalent to the previ P0,0 P2k,0 P2k-1,0 bin-tree meshing appro

c)c) c) a)a) a) b)b) c) a) b) FIGURE FIGURE 12. 12. Recursive Recursive quadtree quadtree traversal traversal for for triangle triangle strip strip FIGURE 12. Recursive quadtree traversal for triangle Fig. 13 Recursive quadtree traversal for triangle strip generation.strip Inigeneration. generation. Initial Initialorder order orderof ofoftriangular triangular triangular quadrants quadrants shown shown a) a) generation. Initial shown ininina) tial order of triangular quadrants shown in a)quadrants with left-first traversal for odd subdivisions shown infor b), and traversal of even subdiviwith with left-first left-firsttraversal traversal traversal for forodd odd oddright-first subdivisions subdivisions shown shown b), b),and and and with left-first subdivisions shown inininb), sion steps shown in c).of right-first right-first traversal traversal ofofeven even evensubdivision subdivision subdivisionsteps steps stepsshown shown showninininc). c). c). right-first traversal

P0,2k-1

P0,2k

P2k,2k level 0

Fig. 14

P2k-1,2k-1

P2k,2k-1

P2k-1,2k level 1

level 2

FIGURE 13. Implicit quadtree hierarchy and point indexing Implicit hierarchy definedquadtree on the height-field grid. and point indexing defined

FIGURE 15. Recursiv

However, instead o

on the +

[LKR 96], a merging d Despite Despitethe the thefact fact factthat that thatan an anentire entire entiretriangulated triangulated triangulatedrestricted restricted restricted Despite height-field grid. v in [BLV01] for the p An optimal output-sensitive triangulation algorithm is quadtree subdivision S of theby terrain. each block ∈S quadtree quadtree can can be berepresented represented represented by byone one oneFor triangle triangle strip, strip,btriangle triangle triangle quadtree can be triangle strip, constraints that avoid c presented in [Paj98a] that exploits the strict error monotonicity +++96]. of this vertex-based error metric is [LKR applied in Figure 16, the mergi strips strips are aresubdivision, formed formedfor for foraindividual individual individual blocks blocks only onlyin inin [LKR 96]. strips are formed blocks only [LKR 96]. achieved by error saturation (see Section 5). This allows for tiveishull of all vertice to achieve a fine-grain selection of vertices to be included An aoptimal output-sensitive triangulation algorithm simple top-down vertex selection algorithm which does For For each each frame frameaaablock-based block-based block-based view-dependent view-dependent image-space image-space For frame view-dependent image-space graph [LKR+96]. Cons ineach the triangulation. Furthermore, the vertex dependencies presented in [42] thatany exploits strictdependencies error monotonicnot have to resolve restrictedthe quadtree or ces that must be remove error error metric metric isisisatused used used (see (see Section Section Section 5) 5) to totoa form form form aaa (non(non(nonerror 5) propagate at run-time. proposed6). saturated are metric resolved this (see stage to guarantee conforming ity achieved bytriangle error splits saturation (seeThe Section This allows And hence the removal error metric guarantees that the set of initially selectedwhich verti- does restricted) restricted) quadtree quadtree subdivision subdivision Sof of ofthe the theterrain. terrain. terrain. For For each triangulation. Finally, for each SS quadtree block b For ∈ S each aeach restricted) quadtree subdivision for a simple top-down vertex selection algorithm the joint removal of the u ces for a given threshold automatically satisfy the restricted triangle generated and used for rendering. error not have to resolve any restricted quadtree dependenciesilarorconcept, the splittin block block SSof of ofisthis this this subdivision, subdivision, vertex-based vertex-based error errormetric metric metric block bbb∈∈∈Sstrip subdivision, aaavertex-based quadtree constraint and hence allow for a crack-free matchvertices into the triangul The to triangulation presented in [34] very effipropagate triangle splits at run-time. The proposed saturated ing triangulation. applied applied totoachieve achieve achieveaaamethod fine-grain fine-grain selection selection of ofis vertices vertices totobe be be isisisapplied fine-grain selection of vertices to vertex v to be removed cient in terms of rendering performance. The triangulation error metric guarantees that the set of initially selected verTo improve rendering performance, a triangle strip conincluded includedin ininthe the thetriangulation. triangulation. triangulation.Furthermore, Furthermore, Furthermore,the the thevertex vertex vertexdependependepenincluded algorithm is output sensitive since the quadtree subdivision tices forstruction a given threshold automatically the restricted algorithm is presented in [Paj98a] satisfy that traverses the dencies dencies are areresolved resolved resolved this this stage stage totoguarantee guarantee guarantee matching matching dencies are atatatand this stage aaaall matching entire quadtree hierarchy instead of blocks as proposed in conis performed top-down does notto need to examine ver- quadtree constraint and hence allow for a crack-free + 96]. As shown in Figure 14, the RQT triangle strip triangulation. triangulation. Finally, Finally, for foreach each eachFurthermore, quadtree quadtreeblock block block triantrianbbb∈∈∈renderSSSaaatriantriangulation. Finally, for quadtree tices on the highest resolution. efficient forming[LKR triangulation. that recursively circles counterclockwise around each primitives in form of used triangle strips are generated for opTo improve rendering performance, triangle gle gleing strip strip generated generated and and used usedfor for for rendering. rendering. gle strip isisisgenerated and rendering. quadtree block’s center vertex is a space a filling curve strip that contimized rendering. Despite the fact that the view-dependent struction algorithm is presented in [42] that traverses ++ + visits all triangles exactly once. It also represents a Hamilto-the enThe Thetriangulation triangulation triangulation method methodpresented presented ininerror [LKR [LKR 96] 96]is very very The in [LKR 96] very error metric does notmethod provide apresented guaranteed bound, itisisis nian path in the dual instead graph of the This trianglein [34]. tire quadtree hierarchy of triangulation. blocks as proposed efficient efficient ininterms terms terms of ofrendering rendering rendering performance. performance. The The triangulatriangulaefficient in of performance. The triangulastrip in canFigure be generated by RQT a depth-first traversal the recurvery efficient in practice and provides good terrain simplifiAs shown 15, the triangle stripofthat quadtree in linear time, proportional to the size of the genertion tion algorithm algorithm is is output output sensitive sensitive since since the the quadtree quadtree subdivisubdiviwhile is maintaining plausiblesince visualthe results. tioncation algorithm output sensitive quadtree subdivi-sively circles counterclockwise around each quadtree blocks a) ated triangle strip. Moreover, the proposed error saturation center vertex space and filling curve that allstrip trianglesFIGURE 16. A verte sion sionisisisperformed performed performedtop-down top-down top-downand and anddoes does doesnot not notneed need needto totoexamine examine examine sion techniqueisina [Paj98a] the quadtree basedvisits triangle highlighted in a). The exactlygeneration once. Itsupport also represents a Hamiltonian a highly efficient unified vertex path selec- in the of v and Mv is shown i all allRestricted vertices verticeson on onthe the thehighest highest highestresolution. resolution. resolution.Furthermore, Furthermore, Furthermore, efficient efficient all vertices efficient Quadtree Triangulation. The Restricted tion, triangle generation and rendering algorithmstrip basedcan be dual graph of thestrip triangulation. This triangle rendering rendering primitives primitives ininform form form of oftriangle triangle trianglestrips strips stripsare are aregenerated generated generated Quadtree Triangulation (RQT) approach presented in [42, The triangulation rendering primitives in of on a by single depth-first traversal of theof implicit height-field in lingenerated a depth-first traversal the quadtree BAV98] require O(n lo is focusedrendering. on large scale real-time terrain quadtree. for for43] optimized optimized rendering. rendering. Despite Despite the the fact factvisualization. that thatthe the theviewviewviewfor optimized Despite the fact that ear time, proportional to the size of the generated triangle This is in contrast to th The triangulation method is not based on a quadtree hierarchy dependent dependent error errormetric metric metric does does not notprovide provide provide guaranteed guaranteed error error dependent error does aaaguaranteed error strip. Moreover, the proposed error saturation techniqueandin[Paj98a] which can as in [58,57] and exploits the dependency relation presented angles optimally in line [42] and the quadtree based triangle strip generation support bound, bound, very veryefficient efficient efficientminimally ininpractice practice practiceconforming and andprovides provides provides good goodterterterbound, itititisisisvery in and good in [34] to generate quadtree a highly efficient unified vertex selection, triangle strip genrain rain simplification simplification while while maintaining maintaining maintaining plausible plausible visual visual rain simplification plausible visual triangulations. Both,while top-down and bottom-up triangulation eration and rendering algorithm based on a single depth-first results. results. results. algorithms are given for a terrain height-field maintained

in a region quadtree, and where each vertex has a an

traversal of the implicit height-field quadtree.

3.4 3.4 Restricted RestrictedQuadtree Quadtree Quadtree Triangulation Triangulation 3.4 Restricted Triangulation approximation error associated with it. It is observed that needs to be stored. For such ananimplicit this needs to be stored. For such implicitquadtree, quadtree, thisreduces reduces the quadtree hierarchy can be defined implicitly on an The The Restricted Restricted Quadtree Quadtree Triangulation Triangulation (RQT) (RQT) approach approach The Restricted Quadtree Triangulation (RQT) approach the storage cost effectively down to the elevation and approxithe storage cost effectively down to the elevation and approxiarray of the regular grid input data set by appropriate point presented presented ininerror [Paj98a, [Paj98a, Paj98b] Paj98b] focused focusedon on onlarge large largescale scale scalerealrealrealpresented in [Paj98a, Paj98b] isisisfocused mation values per vertex. mation values per vertex. indexing anderror recursive functions, and no hierarchical data time time terrain terrain visualization. visualization. The The triangulation triangulation method method is is based based time terrain visualization. The triangulation method is based AsAs shown inin[Paj98b], forforeach Pi,jPimplicit shownneeds [Paj98b], each pointan the structure actually to be stored. For point such i,jofofthe khierarchy on onquadtree, quadtree quadtree hierarchy as as in in [SS92] [SS92] and and exploits exploits the the dependepenk1 on aaaquadtree as in [SS92] and exploits the depen2 k2+k 1+ ×1this 2×hierarchy height-field grid its level l in the implicit 2+ + 1 height-field grid its level l in the implicit reduces the storage++cost effectively down to +96] dency dency relation relation presented presented ininefficiently [LKR [LKR 96] 96] to todetermined generate generate minimally minimally quadtree hierarchy can be determined by arithquadtreepresented hierarchy can efficiently be by arithdency relation in [LKR to generate minimally the elevation and approximation error values per vertex. k +1×2 k +1i i metic and logical operations on the integer index values metic and logical operations on the integer index values As shown in [43], for each point P of the 2 matching matching quadtree quadtree triangulations. triangulations. Both, Both, top-down top-down and and bottombottommatching quadtree triangulations. Both, i, j top-down and bottomand also Furthermore, observed andj, j,see see also Figure 13. Furthermore, itis isalso also observed height-field grid itsFigure level l13. in the implicit hierarchy up uptriangulation triangulation triangulation algorithms algorithms are are given given for forquadtree terrain terrain height-field height-field up algorithms are given for aaitaterrain height-field a) a) b) b) that relation ofarithmetic 1111 can bebeexpressed thatthethedependency dependency relation ofFigure Figure can expressed can efficiently be determined by and logical maintained maintained ininaaaregion region region quadtree, quadtree, and andwhere where where each each vertex vertexoperhas hasaaaan an an FIGURE maintained in quadtree, and each vertex has 14. Generalized RQT triangle strip shown in in a)its and by arithmetic expressions as functions of the point’s index FIGURE 14. Generalized RQT triangle strip a) and as functions ofalso the point’s index Fig. 15 Generalized RQT triangle strip shown inshown ationsby onarithmetic the integerexpressions index values i and j, see Figure 14. a) and Hamiltoapproximation approximation error error associated associated with with it. it. It It is is observed observed that that the the its Hamiltonian path onon the dual graph in in b).b). approximation error associated with it. It is observed that the its Hamiltonian path the dual graph nian path on the dual graph in b). i,j. The implicit definition of quadtree levels and depeni,j. The implicit definition of quadtree levels and depenFurthermore, it is also observed that the dependency relation quadtree quadtree hierarchy hierarchy can can be bedefined defined defined implicitly implicitly on onan an anarray array array of ofthe the the3.5 quadtree hierarchy be implicitly on of dency relations between points bybyarithmetic functions dency relations between points arithmetic functions of Figure 12 can can be expressed by arithmetic expressions as 3.54-8 4-8Meshes Meshes allows the top-down and bottom-up presented inand allows the top-down and bottom-up algorithms presented in regular regular grid gridof input input data dataset set set by by appropriate point point indexing indexing and andThe functions the points index i,appropriate j. Thealgorithms implicit definition of regular grid input data by appropriate point indexing class of 4-8 meshes [BLV01, VG00, Vel01] is is based onon The class of 4-8 meshes [BLV01, VG00, Vel01] based [Paj98a] totorun very fast and directly on of thethe [Paj98a] run very fast and directly onthe thearray array of quadtree levels and dependency relations between points by recursive recursive functions, functions, and and no no hierarchical hierarchical data data structure structure actually actually recursive functions, and no hierarchical data structure actually a aquadtree quadtreesubdivision subdivisionand andtriangulation triangulationasasillustrated illustratedinin

height-field grid ofofrelying onon a ahierarchical height-field griddata datainstead instead relying hierarchical Meshes. The class of triangulation 4-8 meshespower [61, 3, 60] basically is based arithmetic functions allows the top-down and bottom-up al- 4-8 Figure 15,15,which Figure whichininitsitstriangulation poweris isbasically pointer-based data as inin [SS92]). pointer-based data structure (i.e. as [SS92]). a quadtree subdivision and triangulation as illustrated gorithms presented instructure [42] to (i.e. run very fast and directly on on equivalent equivalenttotothethepreviously previouslyoutlined outlinedquadtree quadtreeand andtriangle triangle Figuremeshing 16, which in its triangulation power is basically the array grid instead of relying on a inbin-tree P0,0 P2P k,0 P2P k-1data P0,0 of the height-field k-1,0 2k,0 approaches. 2,0 bin-tree meshing approaches.

555 P0,2 k-1 k-1 P0,2

P0,2 k k P0,2

P2P k,2 2k ,2k level 0 0 level

P2P k-12,2 k-1 k-1 ,2k-1

P2P k,2 k,2k-1 2k-1

P2P k-12,2 k ,2k k-1 level 1 1 level

level 2 2 level

FIGURE 13.13.Implicit quadtree hierarchy and point indexing FIGURE Implicit quadtree hierarchy and point indexing

FIGURE 15.15.Recursive 4-84-8 triangle mesh subdivision. FIGURE Recursive triangle mesh subdivision.

However, However,instead insteadofofa avertex vertexdependency dependencygraph graphasasinin

point Pi,j of the l in the implicit termined by arithadtree, thisvalues reducesi ger index vation andobserved approxiit is also b) a) 1 can be expressed FIGURE 14. Generalized RQT triangle strip shown in a) and fpoint the point’s Pi,j ofindex the its Hamiltonian path on the dual graph in b). levels and implicit depenl in the 8 thmetic functions termined by arith- 3.5 4-8 Meshes ithms presented ger index valuesini The class of 4-8 meshes [BLV01, VG00, Vel01] is based on thealso array of the itn is observed a quadtree subdivision triangulation as illustrated in equivalent to the other and outlined quadtree and triangle b) a) 1 on canabehierarchical expressed Figure 15, which in its triangulation power is basically bin-treeequivalent meshing FIGURE to 14.approaches. Generalized RQT triangle strip shownand in a)triangle and f92]). the point’s index the previously outlined quadtree its Hamiltonian path on the dual graph in b). levels and depen- bin-tree meshing approaches. thmetic functions 3.5 4-8 Meshes ithms presented in The class of 4-8 meshes [BLV01, VG00, Vel01] is based on nk-1 the array of the a quadtree subdivision and triangulation as illustrated in on a hierarchical Figure 15, which in its triangulation power is basically 92]). equivalent to the previously outlined quadtree and triangle FIGURE 15. Recursive 4-8 triangle mesh subdivision. bin-tree meshing approaches. level 2 Fig. 16 Recursive 4-8 triangle mesh subdivision. However, instead of a vertex dependency graph as in nd point indexing +96], a merging domain M is defined for each vertex [LKR v k-1 v in [BLV01] for the purpose of satisfying the triangulation ation algorithm isHowever, instead of a vertex dependency graph as in constraints that avoid cracks in the surface mesh. As shown error monotonicity [34], ainmerging Mvdomain is defined for each vertex v in Figure 16,domain the merging Mv is basically the transi5). This allows for FIGURE 15. Recursive 4-8 triangle mesh subdivision. [3] for the purpose of satisfying the triangulation constraints tive hull of all vertices depending on v in the dependency level 2 does orithm which +96]. Consequently M is used to define all vertigraph [LKR that avoid cracks in the surface mesh. As shown in Figure However, instead of a vertex dependency graph as in 17, v nd dependencies point indexing or ee +96], ces that musta be removed the v. of all [LKR merging Mv triangulation is defined forjointly each with vertex the merging domain Mv domain is from basically the transitive hull proposed saturated And hence thefor removal of multiple vertices is constrained by v in [BLV01] the purpose of satisfying the triangulation ally selected vertivertices on v in the dependency graph [34]. Conation algorithm is thedepending joint removal of the cracks union of mergingmesh. domains. simconstraints avoid intheir the surface As A shown atisfy restricted sequently Mv isthat used to define all vertices that must be reerror the monotonicity ilar concept, the in Figure 16, the splitting mergingdomain, domain is Mvintroduced is basicallyfortheinserting transicrack-free match5). This allows for vertices moved from the triangulation jointly with v. And hence tive hullinto of the all triangulation. vertices depending on v in the dependency the orithm which removal does +96]. ofvertex multiple verticesmerging is M constrained by all thevertijoint rev to be removed Mv to define graph [LKR Consequently is used vdomain eetriangle dependencies or strip conces the that must be of removed from the triangulation jointly with v. conmoval of union their merging domains. A similar proposed saturated a] that traverses the And hence the removal of multiple vertices is constrained by cept, allyasselected verticks proposed in the splitting domain, is introduced for inserting vertices the joint removal of the union of their merging domains. A siminto atisfy restricted RQT the triangle strip the triangulation. ilar concept, the splitting domain, is introduced for inserting crack-free wise aroundmatcheach vertices into the triangulation. e filling curve that vertex v to be removed merging domain Mv presents Hamiltotriangleastrip conation. This triangle a] that traverses the t traversal of the cks as proposed in eRQT size triangle of the generstrip a) b) ed error saturation wise around each FIGURE 16. A vertex v and its merging domain Mv are triangle eased filling curve strip that highlighted in a). The adaptive triangle mesh after removal ified vertex selecof v and Mv is shown in b). presents a Hamiltong algorithm based ation. This triangle The triangulation algorithms presented in [BLV01, mplicit height-field t traversal of the BAV98] require O(n log n) time to refine or merge n nodes. e size of the gener+ This is in contrast a) a) to the algorithms presented b)b) in [LKR 96] ed error saturation FIGURE 16. A vertex v and its merging domain M are and [Paj98a] which can generate an adaptive mesh vof n triased triangle Fig. strip 17 A highlighted in a). The adaptive triangle mesh afterhighlighted removal vertex v and merging Mv are in a). angles optimally inits linear O(n) domain time. ified vertex selecshownafter in b). removal of v and M is shown in b). of vtriangle and Mv ismesh The adaptive v ng algorithm based The triangulation algorithms presented in [BLV01, mplicit height-field 6 BAV98] require O(n log n) time to refine or merge n nodes. + TheThis triangulation algorithms presented in[LKR [2,3]96]require is in contrast to the algorithms presented in can or generate an n adaptive of nistriO(n logand n) [Paj98a] time towhich refine merge nodes.mesh This in conoptimally in linear O(n) time. trast toangles the algorithms presented in [34] and [42] which can

3.6 Irregular Quadtree Hierarchyby a hierarchical 4-8 trifaces can adaptively be triangulated angulation approach, a parameterization the In [VG00, Vel01] it hasgiven been shown that arbitrary 3Dofsurmanifold surface is be known. The QuadTIN approach prefaces can adaptively triangulated by a hierarchical 4-8 trisented in [PAL02] one a step further and defines angulation approach,goes given parameterization of the a restricted on top of any approach irregular prepoint manifold quadtree surface ishierarchy known. The QuadTIN sented in i.e. [PAL02] goes aone step further and defines a set in 2D, given from preprocessed triangulated irregrestricted quadtree on top of anythe irregular ular network (TIN).hierarchy As in [VG00, Vel01], idea of point Quadset in[PAL02] 2D, i.e. given from preprocessed triangulated irreg-to TIN is based onathe fact that points do not have Renato Pajarola, Enrico Gobbetti ular (TIN). in [VG00, idea of Quadlie onnetwork a regular grid As to allow for aVel01], regular the hierarchical trianFIGURE 19. Adaptiv TINsubdivision [PAL02] isasbased on in theFigure fact that gle shown 17.points do not have to distribution of elevati lie on a regular grid to allow for a regular hierarchical trianlevel l-1 level l level l level l+1 FIGURE 19. Adaptive Q gle subdivision as shown in Figure 17. level l-1

level l

level l

4.distribution Triangle Binof elevation

level l+1

this section we d 4.InTriangle Bin-Tr

vcenter

based algorithms whi Inofthis section we dis grid-digital terrain based algorithms which in the previous section of grid-digital terrain hei Optim in4.1 the Real-time previous section.

vcenter

FIGURE 17. Irregular recursive QuadTIN subdivision.

Fig. 18 Irregular recursive QuadTIN subdivision.

At each 17. subdivision step, the diagonal edge of a quadriFIGURE Irregular recursive QuadTIN subdivision. The Real-timeOptima Optim Real-time lateral is not necessarily split at its midpoint, but using a 4.1 At each subdivision step, the diagonal edge of a quadrigulation method pres nearby point from the input data set as shown in Real-time Optimall +9 lateral is not necessarily split atand its midpoint, butof using a The very close to [LKR To avoid badly shaped triangles inversion orientation, gulation method presen Figure 18 a). To avoid badly shaped triangles and inversion nearby point from the input data set as shown in + notion of a triangle bi however, the18domain for searching for input of orientation, the domain for good searching for vertices good veryisclose to [LKR 96] Figure a). Tohowever, avoid badly shaped triangles and inversion which is a special case notion of a triangle bin-t input ishowever, restricted as domain illustrated Figure 18 If no restricted asvertices illustrated in Figure 19-b. If no good candidate of orientation, the forinsearching forb).good refinement method which is a special case o candidate vertices exist, artificial Steiner are verticesgood exist, artificial Steiner Points inserted guaraninput vertices is restricted as illustrated inare Figure 18Points b). Ifto no method recursively re refinement method de inserted to guarantee a coherent restricted quadtree triangugood candidate vertices exist, artificial Steiner Points are tee a coherent restricted quadtree triangulation hierarchy. est edge at the base ve lation hierarchy. inserted to guarantee a coherent restricted quadtree triangu- method recursively refin est edgelevel at the base verte l lev lation hierarchy. base edge et,t’ level l level l+ base edge et,t’

base vertex, midpoint

t’

t t

t’ t’

t

restricted t’ search domain restricted search b) domain

a) t FIGURE 18. a)a) Vertex closest to the midpointb) of diagonal FIGURE Vertex for closest to the midpoint of diagonal edge et,t’ 18. is a) selected recursive subdivision. b) Only edge et,t’ is aselected forsearch recursive subdivision. b) Only Fig. 19 a) vertices Vertex closest to the midpoint ofarediagonal edge from restricted domain considered. vertices fromsubdivision. a restricted search considered. lected for recursive b) domain Only are vertices from a

base vertex, 20. midpoint of l FIGURE Binary

isosceles FIGURE 20. triangles Binary lo longest side. isosceles triangles wit longest side.

As shown in Figur shown inare Figure ofAstriangles split2 ofshared triangles are split ata longest edge, et,t is seshared longesttwo edge, and of merging triang restricted An example adaptive QuadTIN based terrain triangula- of merging two triangle search domain are considered. An example adaptive QuadTIN based terrain triangulation is shown in Figure 19 which demonstrates its flexibility tion is shown in Figure 19 which demonstrates its flexibility to adapt to an irregular input point data set. This added flexto adapt to an irregular input point data set. This added flexcomesadaptive at the expense of extra points inserted into the Anibility example QuadTIN based terrain ibility comes at the expense of extra points inserted into triangulathe data set. data set. in Figure 20 which demonstrates its flexibility tion is shown

FIGURE 21. Split a FIGURE 21. Split and to adapt to an irregular input point data set. This added flextriangulation. triangulation. ibility comes at the expense of extra points inserted into the important obse AnAn important observa data set. tion, all neighbors of

tion, all neighbors of a hierarchy must eith hierarchy must be be either l+1oror bin-t l+1 l-1l-1 of of thethe bin-tree triangles triangles ta,ttba,tand tc,ttdc,tshd b and merged they bebemerged if if they areare a hierarchy shown hierarchy as as shown in iF cannotbebe split imme cannot split immedia

generate an adaptive mesh of n triangles optimally in linear O(n) time. 6 Irregular Quadtree Hierarchy. In [61,60] it has been shown that arbitrary 3D surfaces can adaptively be triangulated by a hierarchical 4-8 triangulation approach, given a parameterization of the manifold surface is known. The QuadTIN approach presented in [44] goes one step further and defines a restricted quadtree hierarchy on top of any irregular point set in 2D, i.e. given from a preprocessed triangulated irregular 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 regular grid to allow for a regular hierarchical triangle subdivision as shown in Figure 18. At each subdivision step, the diagonal edge of a quadrilateral is not necessarily split at its midpoint, but using a nearby point from the input data set as shown in Figure 19-a.

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

4.2 Triangle Bin-Trees In this section we discuss triangle bisection based algorithms which generate equivalent triangulations of grid-digital terrain height-fields as the methods presented previously. Real-time Optimally Adapting Meshes. The Real-time Optimally Adapting Meshes (ROAM) triangulation method presented in [13] is conceptually very close to [34]. However, it

ar hierarchical trian-

FIGURE 19. QuadTIN triangulation oftriangle an irregular bisection In this section weAdaptive discuss alternative distribution of elevation samples. based algorithms which generate equivalent triangulations 4. Triangle Bin-Trees of grid-digital terrain height-fields as the methods presented In this section we discuss alternative triangle bisection in the previous section.

level l+1

based algorithms which generate equivalent triangulations

of grid-digital terrain height-fields as the methods presented 4.1 Real-time Optimally Adapting Meshes

semi-regular multiresolution models for interactive terrain rendering 9 quadri- Survey on in the previous section. subdivision. Optimally Adapting Meshes (ROAM) trianusing a The Real-time 4.1 Real-time Optimally Adapting Meshes presented in [DWS+97] is conceptually al edge of a quadriown in gulationThemethod Real-time Optimally Adapting Meshes (ROAM) trian+ idpoint, but using a very closebased to [LKR However, it+97] is strictly based on the the triangles t ∈ T according to their priority to be split next, is strictly on the96]. notion of[DWS a triangle hierarchy in is bin-tree conceptually nversion set as shown in gulation method presented + notion of a triangle bin-tree hierarchy as shown in Figure 20, and the merge queue Qm maintains the mergible triangle as shown in Figure 21, which is a special case of the longest very close to [LKR 96]. However, it is strictly based on the angles and inversion or good notion of atriangle triangle bin-tree hierarchy asside shownbisection in Figure 20,triangle side bisection refinement method described in [51, pairs of T . For each frame the priority queues Qm and Qs are which is a special case of the longest searching for good b). If no which is a special case of the longest sidetriangles bisection triangle n Figure 18 b).52]. If no This method recursively refines by splitting consulted and the current triangle mesh is adaptively refined refinement method described in [Riv93, Riv95]. This arePoints are refinement method described in [Riv93, Riv95]. This lints Steiner their longest edge atrefines the base vertexby(see alsotheir Figure 11). or simplified accordingly to satisfy the given error threshmethod recursively triangles by splitting their longmethod recursively refines triangles splitting longtriangued quadtree trianguold τ. The priorities are based on an error metric defined on the base vertex(see (see also 10).10). est edgeestatedge theatbase vertex alsoFigure Figure triangles. level l level l+1 level l+2 level l+3 level l level l+1 level l+2 level l+3 To guarantee an e-approximation with respect to a particular error metric, the proposed greedy algorithm requires the error metric, and thus the priorities of Qm and Qs , to be base vertex, midpoint of longest side strictly monotonic. This means that the error or priority of FIGURE 20. Binary longest side bisection hierarchy of t’ vertex,longest midpointside of longest side Fig. 21base Binary bisection of isosceles triangles isosceles triangles with indicatedhierarchy split vertices on the restricted any triangle in the bin-tree hierarchy cannot be larger than with FIGURE indicated split verticeslongest on the longest side. search domain longest side. 20. Binary side bisection hierarchy of t’ its parents priority. This monotonicity requirement limits the b) isosceles triangles with21,indicated split operation vertices a on As shown in Figure for a refinement pair the direct applicability of many standard error metrics. For exdpoint of diagonal main of triangles longest side. are split at the common base vertex of their bdivision. b) Only As shown in Figure 22, for a refinement operation a pair ample, neither the view-dependent error metric in [34] nor shared longest edge, and a simplification operation consists are considered. As shown intwo Figure forcommon refinement operation pair the vertical distance measure of [58] or the Hausdorff disof triangles are split at21, the base vertex of merging triangle pairs atatheir common base vertex. ofa their gonal ed terrain triangulashared longest a simplification operation consists of triangles areedge, splitand at the common base vertex of their tance error metric defined hierarchically on removed vertices split Only strates its flexibility of merging two triangle pairs at their common base vertex. or triangles initially satisfy this monotonicity requirement shared longest edge, and a simplification operation consists t t set. This added flexd. t t (see also Section 6). Special care has to be taken to enforce ofthe merging two triangle pairs at their common base vertex. nts inserted into merge monotonicity of any error metric by a bottom up traversal of iangulasplit operations on a bin-tree the triangle bin-tree hierarchy in a preprocess and calculatFIGURE 21. Split and merge exibility triangulation. ta tb ing bounding priorities at each node. ed flextd ttriangulac An important observation is that in a matching Besides the two main contributions of ROAM which are into the tion, all neighbors of a triangle merget on level l in the bin-tree the priority-queue driven triangle-bin-tree based triangulahierarchy must be either on the same level as t, or on levels tion method and a screen distortion error metric, the paper l+1 or l-1 the bin-tree hierarchy. Therefore, on two a pairs of FIGURE 21.of Split and merge operations bin-tree Fig. 22 Split and merge operations on a bin-tree triangulation. [13] contains a number of interesting contributions. A list of triangles ta,tb and tc,td sharing the same base vertex can only triangulation. be merged if they are all on the same level in the bin-tree twelve criteria is given that generally apply to mesh simplias shown in Figureis21. Furthermore, a triangle t An hierarchy important observation that in a matching triangulafication and in particular to large scale terrain visualization. An cannot important in a tconforming be splitobservation immediately ifisitsthat neighbor across its triantion, all neighbors of a triangle t on levellong l in the bin-tree Furthermore, a few performance enhancements that are imgulation, all neighbors of a triangle t on level l in the bin-tree hierarchy must be either on the same level as t, or on7 levels plemented in ROAM are described including view-frustum hierarchy must be either on the same level as t, or on levels bin-tree hierarchy. Therefore, twotwo pairs of culling, incremental triangle strip generation, deferred priorll+1 + 1ororl-1 l −of1 the of the bin-tree hierarchy. Therefore, pairs triangles ta,ttb and tc,tdt sharing the same base vertex can only ity recomputation, and progressive optimization. of triangles a ,tb and c ,td sharing the same base vertex can be merged if they are all levellevel in the only be merged if they areonallthe on same the same in bin-tree the binhierarchy as shown in Figure 21.22. Furthermore, a triangle t Right-Triangulated Irregular Networks. Right-Triangulated tree hierarchy as shown in Figure Furthermore, a triangle tcannot cannotbebesplit splitimmediately immediatelyififits itsneighbor neighbortlong tlong across across its its Irregular Networks (RTIN) as presented in [14] is a mullongest edge is from a coarser level as shown in Figure 23. tiresolution triangulation framework for the same class of 7 In that case, triangle t can only be split if its corresponding triangle bin-tree meshes [13] as presented above. The RTIN longest edge is from a coarser level as shown in Figure 22. 4.2 Right-Triangulated Irregular Networks neighbor is forced to split first. These forced splits are con- approach is particularly focused on the efficient representaTriangle t can only be split if its corresponding neighbor is Right-Triangulated Irregular Networks (RTIN) as presented ceptually the same as the split propagation of [58] shown in tion of the binary triangle hierarchy, and fast mesh traversal forced to split first. These forced splits are conceptually the in [EKT01] is a multiresolution triangulation framework for Figure 10. the dependency relation for neighbor-finding. Starting with a square triangulated by same asMoreover, the split propagation of [SS92] shown of in [34] Figurein8.Fig-the same class of triangle bin-tree meshes [DWS+97] as pre+ ure 12 denotes exactly the same forced split propagation of choosing one diagonal, triangles are split recursively at the Moreover, the dependency relation of [LKR 96] in sented above. The RTIN approach is particularly focused on a bin-tree or restricted quadtree triangulation. All these conbase vertex or midpoint of their longest edge, identical to the Figure 11 denotes exactly the same forced split propagation the efficient representation of the binary triangle hierarchy, ceptsoffor assuring conforming triangulation areAll equivalent described above.To guarantee a conforming triangua bin-tree or arestricted quadtree triangulation. these and method fast mesh traversal for neighbor-finding. Starting with a in this context. lation withoutby cracks the one same propagation forced splits concepts for assuring a matching triangulation are equiva- square triangulated choosing diagonal, trianglesofare lent in this context. shown inat Figure is imposed splitasrecursively the base 23 vertex or midpointon of the theirRTIN long- triangula[14] it istoobserved that described split propagation est tion. edge,Inidentical the method above in caused by splitting a triangle level lt cannot causewithout triangles smaller Section 4.1. To guaranteet on a matching triangulation thanthet to be propagation split (on levels l > lsplits at most two tricracks same of forced as that shown in t ), and tlong Figure 22 is imposed on the RTIN triangulation. In [EKT01] angles on each level l ≤ l are split. Thus split propagation t t it isterminates observed thatinsplit by splitting a trithe propagation worst casecaused in O(logn) steps, with n being angle t on level l cannot cause triangles smaller than t to be desired split at base vertex forced splits the size of t the triangle bin-tree hierarchy (number of leaf splitnodes). (on levels l > lt), and that at most two triangles on each FIGURE 22. Propagation of forced triangle splits. Fig. 23 Propagation of forced triangle splits. level l ≤One lt are of split. splitcontributions propagation terminates theThus main of [14]inisthean efficient The run-time triangulation algorithm of ROAM is based worst case in O(log n) steps, with n being the size of the tridata structure to represent right-triangular surface on a greedy algorithm using two priority queues of the trianangle bin-tree hierarchy (number of leaf nodes). gles run-time t ∈ T of the current meshalgorithm T: The splitofqueue Qs stores The triangulation ROAM is based approximations. Similar to Figure 11, child triangles of the main [EKT01] as is anleft efficient t ∈ T according triangles to their priority to be split next, on athe greedy algorithm using two priority queues of the trian- One resulting fromcontributions a split areoflabelled and right with data structure to represent right-triangular surface approxiand the merge queue Q maintains the mergible triangle gles t ∈ T of the current mesh T : The split queue Qs stores respect to the split vertex of their parent triangle. A binary m a

b

d c

pairs of T. For each frame the priority queues Qm and Qs are consulted and the current triangle mesh is adaptively refined or simplified accordingly to satisfy the given error threshold τ. The priorities are based on an error metric defined on triangles. To guarantee an ε-approximation with respect to a particular error metric, the proposed greedy algorithm requires the error metric, and thus the priorities of Qm and Qs, to be

mations. Similar to Figure 10, child triangles resulting from a split are labelled as left and right with respect to the split vertex of their parent triangle. A binary labelling scheme as shown in Figure 23 is used in RTIN to identify triangular regions of the approximation. A RTIN triangulation is thus represented by a binary tree denoting the triangle splits and the elevation values (z coordinate) of the triangle vertices. The geographical (x and y) coordinates do not have to be stored for each vertex but can be computed from the trian-

est edge, identical to the method described above in Section 4.1. To guarantee a matching triangulation without cracks the same propagation of forced splits as shown in Figure 22 is imposed on the RTIN triangulation. In [EKT01] it is observed that split propagation caused by splitting a triangle t on level lt cannot cause triangles smaller than t to be ed splits split (on levels l > lt), and that at most two triangles on each splits. 10 level l ≤ lt are split. Thus split propagation terminates in the f ROAM is based worst case in O(log n) steps, with n being the size of the triueues of the trianangle bin-tree hierarchy (number of leaf nodes). it queue Qs stores labelling One scheme as shown in Figure 24 is used in RTIN of the main contributions of [EKT01] is an efficient ty to be split next, data structure to represent right-triangular surface approxito identify triangular regions of the approximation. A mergible triangle mations. Similar toisFigure 10,represented child triangles by resulting from tree triangulation thus a binary ues Qm and QRTIN are s a split are triangle labelled as splits left and and right with to the values split adaptively refined denoting the the respect elevation (z vertex of their parent triangle. A binary labelling scheme as en error threshold coordinate) of the triangle vertices. The geographical ric defined on tri- shown in Figure 23 is used in RTIN to identify triangular (x andregions y) coordinates do not Ahave be stored for each of the approximation. RTINto triangulation is thus vertex represented but can by be a computed from the triangles As binary tree denoting the triangle splitslabel. and h respect to a parthe elevation values (zmemory coordinate) of the triangle vertices. noted in [14], a main implementation of such a algorithm requires The geographical (xwith and y)two coordinates do not have to bevertex binary tree structure pointers and three Qm and Qs, to be stored each vertex but can be computed from the trian2 perfornode indices is space inefficient if used to represent rror or priority of gle’s label. As noted in [EKT01], a main memory implenot be larger one than single triangulated surface approximation. However, mentation of such a binary tree structure with two pointers equirement limits 1 per represents a triangle bin-tree actually entireif used hierarchy and three vertex indices node is space an inefficient error metrics. For of triangulations. reduce the storage of a triangle to represent oneTosingle triangulated surface cost approximation. error metric in However, a triangle bin-tree actually represents anpointers entire hierarchy it is proposed to remove child by e of [SS92] orbin-tree the hierarchy of triangulations. reduce the storage cost of a the nodes in an arrayToand using an array indexing hierarchicallystoring on it is proposed to remove child schemetriangle basedbin-tree on thehierarchy node labels. isfy this monotopointers by storing the nodes in an array and using an array pecial care has to indexing scheme based on the node labels. error metric by a ee hierarchy in a 0 1 10 ities at each node. 010 ROAM which are 11 1 0111 0 1 0 e based triangula0110 0000 metric, the paper 1 1 0 0 001 0001 g contributions. A 1 lly apply to mesh 0 1 0 ale terrain visualFIGURE 23. RTIN triangle bin-tree labelling using 0 for left enhancements that Fig. 24 RTIN and 1triangle for right.bin-tree labelling using 0 for left and 1 for right. d including viewBased on the binary tree representation of the RTIN strip generation, gressive optimiza- hierarchy as shown in Figure 23, an efficient neighbor finding scheme the second contribution of Based on theisbinary tree main representation of [EKT01]. the RTIN hi-

Renato Pajarola, Enrico Gobbetti

Forced splits are propagated to the corresponding i-neighbors to avoid cracks in the triangulated surface approximation. The main focus of RTIN is efficient representation of the triangle bin-tree hierarchy and neighbor finding techniques on the adaptively triangulated surface. Similar to [34, 13, 42], RTIN is efficient in creating an adaptive surface triangulation since its top-down algorithm is output sensitive. In fact, the RTIN approach is almost identical to the ROAM method and only differs in notation and representation of the triangle bin-tree hierarchy. No detailed algorithms are given in [14] on how to incorporate propagation of forced splits to generate a conforming triangulation.

Right-Triangular Bin-Tree. In [19], the class of restricted quadtree or right-triangular bin-tree triangulations is studied with respect to efficient data storage and processing, search and access methods, and data compression. It is proposed to always manage the data in compressed form, even interactive processing is performed on the compressed data. The multiresolution triangulation framework in [19] follows the binary triangle hierarchy approach as used in [13] and [14]. To prevent cracks in the triangulation resulting from recursive triangle bisection, error saturation is used as presented in [42]. The main contribution of [19] is a compressed representation of the triangle bin-tree hierarchy based on an efficient mesh traversal and triangle numbering scheme. The traversal order of triangles in the bin-tree hierarchy is equivalent to the erarchy as shown in Figure 24, an efficient neighbor find- triangle strip ordering as shown in Figure 15. Furthermore, 1. could be reduced to only one vertex index, others are known from paring scheme is the second main contribution of [14]. Given each triangle is numbered such that the left child of a trianent triangle nodes. a counterclockwise numbering from v1 to v3 of the vertices gle with number n receives the number 2n and the right child of triangle t with vertex v3 being the right-angled vertex, the is numbered 2n + 1 if the level l of the parent triangle is odd 8 i − neighbor of triangle t is defined as the adjacent triangle and vice versa if it is even as shown in Figure 25. For a given a counterclockwise numbering from v1 to v3 of the child of a triangle with number n receives the number 2n ti that does not shareGiven vertex i. Furthermore, the same-size triangle, bitwise logical operations can be used to compute vertices of t with adjacent vertex v3 being the right-angled and the right child is numbered 2n+1 if the level l of the pari-neighbors of any triangle aretriangle the edge triangles the adjacent triangle theif common ververtex, the i-neighbor of triangle t is defined as the adjacent ent triangle is oddthat and shares vice versa it is even asrefinement shown in at the same level in the bin-tree hierarchy. For example, tri- tex. triangle ti that does not share vertex i. Furthermore, theEach Figure 24. For given triangle, bitwise operations of the vertex is aassociated with thelogical two numbers angle 10 in Figure 24same-size is the same-size of the triani-neighbors of1-neighbor any triangle are edge adjacent canthat be used to compute the adjacent triangle that shares the triangles it refines. triangles at the same level of in the bin-tree0000 hierarchy. For common refinement vertex. Each vertex is associated with gle 11, and triangle 001 is the 3-neighbor triangle example, triangle 10 in Figure 23 is thefunction same-size 1-neigh- the two numbers of the triangles that it refines. but not a same-size neighbor. The neighbor-finding of triangle 11, and triangle 001 is the 3-neighbor of triNI (t) presented in [14]bor first finds the same-size i-neighbor of angle 0000 but not a same-size neighbor. The neighbor6 5 1 a triangle and then determines the actual i-neighbor for a par3 2 7 4 finding function NI(t) presented in [EKT01] first finds the ticular triangulation. The recursive same-size i-neighborneighbor-finding of a triangle and thenfuncdetermines the FIGURE 24. Triangle numbering. particular triangulation. The recursive Fig. 25 Triangle numbering. tion NI (t), that returnsactual the i-neighbor label of for thea same-size i-neighbor This ordering and triangle numbering imposes a binary neighbor-finding function NI(t), that returns the label of the of a given triangle t, same-size is conceptually identical to a recuri-neighbor of a given triangle t, is conceptually iden- classification of triangles in a matching bin-tree triangulasive tree traversal fortical finding adjacent regions in any bi- regions in tion into up- or down-triangles. In a depth-first traversal of to a recursive tree traversal for finding adjacent This ordering and triangle numbering imposes a binary nary space partition (BSP-tree), seepartition also [54,53]. any binary space (BSP-tree),An see effialso [Sam89b, the bin-tree hierarchy, an up-triangle can only be followed classification of triangles conforming bin-tree by a triangle on the samein orahigher level (coarser triangle)triangulain Sam89a]. An efficient non-recursive implementation of N (t) cient non-recursive implementation of N (t) based on arithI I theuphierarchy. Similarly, a down-triangle can only have a tion into or down-triangles. In a depth-first traversal of based on arithmetic and logical operations is also given in metic and logical operations is also given in [14]. neighbor on the samean or lower level of thecan hierarchy. There[EKT01]. the bin-tree hierarchy, up-triangle only be followed For terrain visualization, each triangle is assigned fore, the starting triangle and one bit per triangle is suffiFor terrain visualization, each triangle is assigned an a triangle on the same or higher level (coarser triangle) an approximation error during error the during preprocess phasephase of ofby approximation the preprocess con- cient to encode an adaptive bin-tree triangulation. in the hierarchy. Similarly, a down-triangle can only have a constructing the RTIN hierarchy. At run-time, starting structing the RTIN hierarchy. At run-time, starting with the Furthermore, vertices only need to be specified on their first occurrence the bin-tree traversal. on hierarchy. this traversal Thereon the in same or lower levelBased of the two triangles at the root of the RTIN hierarchy a depth-first with the two triangles at the root of the RTIN hierarchy neighbor and numbering technique an efficient compressed represenfore, the starting triangle and one bit per triangle is sufficient recursivelysplits splits triangles whose approximation a depth-first traversaltraversal recursively triangles whose tation of a triangle bin-tree hierarchy is proposed. Moreover, errors exceed a given tolerance threshold. Forced splits are to encode an adaptive bin-tree triangulation. Furthermore, approximation errors propagated exceed to a the given tolerance threshold. it is shown how an arbitrary adaptive triangulation can efficorresponding i-neighbors to avoid cracks verticesciently onlybeneed to be on their first occurrence extracted fromspecified the code stream that represents the in the triangulated surface approximation. 2 could be reduced to only one vertex index, others are known from in the bin-tree traversal. Based oncan this and numberentire bin-tree hierarchy, and that be traversal read and processed The main focus of RTIN is efficient representation of the efficiently from disk. ing technique an efficient compressed representation of a triparent triangle nodes triangle bin-tree hierarchy and neighbor finding techniques 12 11

13 10

15 14

on the adaptively triangulated surface. Similar to [LKR+96, DWS+97, Paj98a], RTIN is efficient in creating an adaptive surface triangulation since its top-down algorithm is output sensitive. In fact, the RTIN approach is almost identical to the ROAM method and only differs in notation and representation of the triangle bin-tree hierarchy. No detailed algorithms are given in [EKT01] on how to incorporate propagation of forced splits to generate a matching triangulation. 4.3 Right-Triangular bin-tree

9

8

The triangulation algorithm and data structure presented in [Ger99] are particularly tailored towards efficient representation and traversal of the binary triangle hierarchy. The proposed encoding of the triangle bin-tree is very interesting from the point of view that it can be used to access an adaptive triangulation efficiently even if the bin-tree is stored sequentially on disk. The proposed multiresolution triangulation framework provides most of the important features such as continuous LOD, fast rendering, and compact representation.

Survey on semi-regular multiresolution models for interactive terrain rendering

angle bin-tree hierarchy is proposed. Moreover, it is shown how an arbitrary adaptive triangulation can efficiently be extracted from the code stream that represents the entire bintree hierarchy, and that can be read and processed efficiently from disk. The triangulation algorithm and data structure presented in [19] are particularly tailored towards efficient representation and traversal of the binary triangle hierarchy. The proposed encoding of the triangle bin-tree is very interesting from the point of view that it can be used to access an adaptive triangulation efficiently even if the bin-tree is stored sequentially on disk. The proposed multiresolution framework provides most of the important features such as continuous LOD, fast rendering, and compact representation.

4.3 Discussion The different multiresolution terrain triangulation approaches reviewed in this section all contribute unique features and improvements to the class of restricted quadtree and bin-tree triangulations. The basic adaptive multiresolution triangulation framework has been introduced in [58]. The approaches of [34] and [42] follow this concept of an adaptive quadtree hierarchy, while the methods presented in [13], [14] and [19] describe the same class of triangulations from the point of a binary triangle subdivision hierarchy. Very efficient triangulation algorithms are the focus of [34], [42], [35] and [5], which are based on a simple vertex selection strategy, and [13], which is based on a prioritized triangle merge and split concept. Error saturation conforming to the restricted quadtree triangulation constraints introduced in [42] and [19], has been extended to efficient view-dependent error metrics and LOD selection algorithms in [35], [20] and [5]. While effective, most other triangle bin-tree based approaches are slightly more complex due to recursively splitting triangles and resolving propagated forced splits, and thus have some disadvantages compared to the simple quadtree based vertex selection algorithms. All surveyed methods are capable of generating smooth adaptive LODs for efficient terrain surface approximation, and, though not explicitly described, RTIN [14] can generate triangle strips for fast rendering. The main objective of this kind of algorithms was to compute on the CPU the minimum number of triangles to render each frame, so that the graphic board was able to sustain the rendering. More recently, the impressive improvements of the graphics hardware both in term of computation and communication speed shifted the bottleneck of the process from the GPU to the CPU. In the next section we will show how these methods can be made more efficient in terms of raw triangle throughput by employing cluster based approaches.

11

5 Cluster Triangulations

The impressive improvement of graphics hardware in terms of computation and communication speed is reshaping the real-time rendering domain. A number of performance and architectural aspects have a major impact on the design of real-time rendering methods. Todays GPUs are able to sustain speeds of hundreds of millions of triangles per second; this fact has two important implications for real-time rendering methods. First of all, to sustain such speeds, the CPU workload of the adaptive rendered has to be reduced to few instruction cycles per rendered triangle. Second, since the target rendering speed is two orders of magnitudes larger than the number of screen pixels, there is an expectation for high quality scenes with millions of triangles per frame. On classic vertex- or triangle-based structures, managing and storing very large dependency graphs at run-time becomes a major bottleneck, mostly due to random-access traversals with poor cache-coherence. Moreover, current GPUs are optimized for retained mode graphics, and their maximum performance is obtained only when using specific preferential data paths. This typically means using stripified, indexed, and well packed and aligned primitives to exploit on-board vertex caches and fast render routes. In addition, the number of primitive batches (i.e. the number of DrawIndexedPrimitive calls) per frame has to be kept low, as driver overhead would otherwise dominate rendering time [64]. Finally, maximum performance is only obtained when rendering from on-board memory. Editing on-board memory introduces however synchronization issues between CPU and GPU, which is a problem for dynamic LOD techniques. In this setting, approaches which select, at each frame, the minimum set of triangles to be rendered in the CPU typically do not have a sufficient throughput to feed the GPU at the top of its capacity, both because of the per-triangle cost and the complexity associated to sending geometry in the correct format through preferential paths. Since the processing rate of GPUs is increasing faster than that of CPUs, the gap between what could be rendered by the graphics hardware and what the CPU is able to compute on the fly to generate adaptive triangulations is doomed to widen. For such reasons many techniques have been recently proposed to reduce the per-primitive workload by composing at run-time pre-assembled optimized surface patches, making it possible to employ the retained-mode rendering model instead of the less efficient direct rendering approach for all CPU-GPU communication tasks. The main common point of these methods, that we call here Cluster Triangulations, is that they move the LOD unit up from points or triangles to small contiguous portions of a mesh.

12

5.1 Tiled Blocks A classic example of a Cluster Triangulations approach are tiled blocks techniques (e.g. [26,63]), which partition the terrain into square patches tessellated at different resolutions. A full survey of this subject is beyond this survey, devoted to quadtree approaches. We restrict our presentation to [55] which proposes a combination of tiled blocks and restricted quadtree triangulations. The method strives to improve CPU / GPU communication efficiency by incremental batched communication of updates. In this approach, the terrain mesh is partitioned into equal tiles of size 257x257, with an overlap of one sample in either direction. For each tile, a fixed set of restricted quadtree meshes of increasing error is generated, resulting in a nested mesh hierarchy per tile. At run-time a specific LOD is selected independently for each tile, and the relevant updates are sent to the GPU. Each finer level is represented by all coarser level vertices plus the additional ones. By caching the current mesh on the GPU, only the additional vertices need to be sent, reducing the required bandwidth by 50%. Since vertices are transferred by groups, efficient vertex array techniques can be employed to boost transfer efficiency. In [55] all vertex data for a given tile is stored in a single vertex array, which grows by a block for each LOD, while the connectivity is stored in a separate per level element array. In order to smoothly transition surface changes, the method exploits the concept of geomorphing [27] which interpolates vertex attributes between LODs. The main challenge for this technique, as for all tiled block techniques, is to seamlessly stitch block boundaries, which requires extra run-time work. In [55] boundaries of neighboring tiles are detected and connected using run-time generated triangles. This need to remesh boundaries is avoided in the quadtree-based techniques that will be presented next. Moreover, the technique is not fully adaptive, and limits simplification to pure subsampling, in order to support progressive vertex transmission. 5.2 Cached Triangle Bin-Trees RUSTIC [47] and CABTT [31] are both extensions of the ROAM [13] algorithm that improve rendering performance through the addition of coarse-grained on-board caching. RUSTIC is an extension of the basic ROAM algorithm in which preprocessed static subtrees of the ROAM triangle bin-tree are used. The CABTT approach is very similar to RUSTIC, but triangle clusters are dynamically created, cached and reused during rendering. Triangle clusters form the unit for LOD refinement/coarsening operations, and can be cached on the GPU as vertex arrays. Improved performance over ROAM is gained by rendering the meshes as triangle strips. Since all adaptively refined graphs are still ROAM graphs, adaptive triangulations are guaranteed to be conforming. These methods demonstrate the performance benefits of coarse grain LOD adaptation, but limited its application

Renato Pajarola, Enrico Gobbetti

to geometry caching. A particular contribution of these methods was to show that, even though the number of triangles per frame increased by a factor of 50%, with respect to ROAM, the overall rendering performance was boosted by a factor of four due to the order of magnitude raw 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 regular and irregular triangulations in the same GPU friendly framework. The main insight of these methods is to separate the coarse topology of the multiresolution method, managed using semi-regular fine geometry of the objects, managed using triangulations. In other words, the task of the multiresolution structure is to generate adaptive regular partitions of the terrain domain using data independent techniques, while the task of the geometry is to approximate the data inside the partition with a fixed triangle count mesh with appropriate boundary constraints. HyperBlock-QuadTIN. QuadTIN [44] is an efficient quadtree-based triangulation approach to irregular input point sets with improved storage cost and feature adaptive sampling resolution. It preserves a regular quadtree multiresolution hierarchy over the irregular input data set (see Section 4.1). HyperBlock-QuadTIN [30] extends the basic QuadTIN [44] method by creating a coarse grained tree structure of blocks that store different triangulation levels. Similar to the clustering performed by RUSTIC [47] and CABTT [31] on ROAM hierarchies but with the additional advantage of direct support of irregular point sets. The construction process starts by a full QuadTIN hierarchy which is then clustered into fixed size blocks by traversing it coarse to fine. At run-time, the coarse block hierarchy is traversed, and resolution levels are selected on a block-by-block basis. A global crack-free triangulation is ensured by adjusting the selected block levels so that they meet restricted quadtree constraints. A simplified illustration of an example of restricted quadtree blocks of HyperBlock-QuadTIN [30] is given in Figure 26.

Fig. 26 Adaptive elevation grid and the corresponding LOD hyperblocks of levels 1 and 2.

Survey on semi-regular multiresolution models for interactive terrain rendering

Batched Dynamic Adaptive Meshes (BDAM). The BDAM approach [7] seamlessly combines the benefits of TINs and restricted quadtree triangulation in a single data structure for multiresolution terrain modeling. BDAM is a specialization of the more general Batched Multi-Triangulation framework [9]. It is based on the idea of exploiting the partitioning induced by a recursive subdivision of the input domain in a hierarchy of right triangle clusters to generate a coarse grained multiresolution structure. The partitioning consists of a forest of triangle bin-trees (see also Section 4.2) covering the input domain. The partitioning consists of replacing a triangular region σ with two triangular regions obtained by splitting σ at the midpoint of its longest edge [51,52]. To guarantee that a conforming mesh is always generated after a bisection, the two triangular regions sharing σ ’s longest edge are split at the same time. These pairs of triangular regions are called diamonds and cover a square. The dependency graph encoding the multiresolution structure is thus a DAG with at most two parents and at most four children per node (conceptually the same as in [34]). This structure has the important property that, by selectively refining or coarsening it on a diamond by diamond basis, it is possible to extract conforming variable resolution mesh representations. BDAM exploits this property to construct a coarse grained LOD structure. This is done by associating to each triangle region s a small triangle patch, up to a given triangle count, of the portion of the surface contained in it. Each patch is constructed so that vertices along the longest edge of the region are kept fixed during a diamond coarsening operation (or, equivalently, so that vertices along the shortest edge are kept fixed when refining). In this way, it is ensured that each mesh composed by a collection of small triangle patches arranged as a triangle bin-tree generates a globally correct and conforming triangulation (see Figure 27).

b) level i

c) a)

level i − 1

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

13

nique [9]). The selection cost is thus amortized over patches of thousands of triangles. The highest resolution triangle patches sample the input data at a matching resolution, while coarser level patches contain TINs constructed by constrained edge-collapse simplification of child patches. In a preprocess, simplification is carried out fine-to-coarse level-by-level, and independently for each diamond. The whole simplification process is inherently massively parallel, because the grain of the individual task is very fine and synchronization is required only at the completion of each bin-tree level (see also Figure 28).

Fig. 28 Construction of a BDAM through a sequence of (parallel) simplification and marking steps. Each triangle represents a terrain patch composed by many triangles, as in Figure 27.

5.4 4-8 Mesh Cluster Hierarchies An approach similar to BDAM, but described in terms of a 4-8 mesh hierarchy and optimized for regular grids is introduced in [28]. The authors remark that, with current rendering rates, it is now possible to render adaptive scenes with triangles that have a projected size of one or few pixels. At this point, it is no longer desirable to make triangles nonuniform in screen space due to variations in surface roughness, since this will only lead to sub-pixel triangles and thus to artifacts. The authors therefore rewrite the BDAM approach in terms of regular grids, replacing geometric patch simplification with low-pass filtering. In addition, while the original BDAM work encoded the hierarchy with triangle bin-trees, this work explicitly encodes the graph of diamonds, and incrementally refines and coarsens it using ROAM’s dual queue incremental method. Another contribution of the work is that geometry and texture are handled in the same framework. That is, both geometry and textures are treated as small regular grids, called tiles, defined for each diamond in the hierarchy. Each grid corresponds to two patches sharing the main diagonal. The relative density of the grids are adjusted to maintain a fixed ratio of texels per triangle.

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

In this section we review the major error metrics that have been proposed for the discussed terrain triangulation algorithms.

monotonic. In fact, the resulting simplified surface based on been observed in [ this method does not interpolate the removed vertices within ways to enforce c a bounded distance. such as topology However, the top-down triangulation approach in [SS92] [GP00]. computes the distance to the original surface for each vertex 6 with respect to the current adaptive restricted quadtree surface approximation. Therefore, no accumulation of errors Renato Pajarola, Enrico Gobbetti 7 3 beyond the given threshold τ can occur, and the recon2 structed surface map is a correct τ-approximation.

14

6.1 Object-Space Approximation Error

allowed error tolerance τ

6

9

7 a)

FIGURE 27. Initi

To render deformed parametric surfaces, several recursive vertices, white ve subdivision criteria are given in [62] that take into the error thresho accumulated dashed grey lines approximation error ε account local curvature, intersection of surfaces, and b) for the vertex c silhouette boundaries. While these subdivision criteria are d d/2 Other geometri not directly applicable to terrain height-fields, the local d/4 d/8 offset measure, mu curvature criterion, or flatness, is similar to other geometric monotonicity for of nodes satisfying the approximation Fig. 30 FIGURE Merging26.ofMerging nodes satisfying the approximation error threshold approximation error metrics used for terrain triangulation. error result threshold locally may result in intolerable large adaptive mesh refin locally may in intolerable large accumulated errors with respect The approximation error proposed in [58] is the vertical accumulated errors with respect to the final result. to the final result. An object-space distance of a removed vertex with respect to its linear interA similar vertical distance measure has been used in defined in [DWS+9 polation provided by the parent node as shown in Figure 29. [EKT01] and [Paj98a], modified to satisfy the monotonicity bin-tree hierarchy t The error of vertex B is its vertical distance to the average elrequirement [DWS+97].distance However,ofinvertices contrast to encloses all childr tonic, setting itoutlined to the inmaximum within + evation of A and C. An example of mergible nodes, with re[EKT01], and also [DWS 97], which define the error metric This measure boun the domain of the triangle. However, a geometric approxiFigure 25. The error of vertex B is its vertical distance to the forward to make the error metric monotonic, setting it to the spect to Section 4.1, iserror given in Figure 29. Given that the ap- forward on totriangles, the RQT approach [Paj98a] defines the error mesh with respect Figure 25. The of vertex B is its vertical distance to the make the error metric monotonic, setting it to the error has tothebedomain storedoffor average elevation of all A removed and C. Anvertices example(outlined of mergible distance of attribute vertices within theeach tri- triangle that proximation errorelevation of pointsmaximum in mation metric on vertices. If precomputed per triangle is straight has to be compute average of A 3.2, and is C. given An example of 25. mergible distance of vertices within the domain of theittrican ever be formed by the adaptive multiresolution triangunodes, with respect to Section in Figure angle.maximum However, a geometric approximation error attribute Figure 29-b) is with within the given tolerance, and given that25.no angle. However, a geometric approximation error attribute nodes, respect to Section 3.2, is given in Figure Given that the approximation error of all removed vertices has to be stored for each This triangle that can everabe formed by lation method. can be quite costly approach in terms other neighboring nodes violate theerror restrictedremoved quadtree con- has to be stored for each triangle that can ever be formed by approximation vertices (outlinedGiven pointsthat in the Figure 25-b) is within oftheallgiven tolerthe adaptive multiresolution triangulation method. This can of memory usage as this number is several times larger than (outlined pointstriangles in Figureof 25-b) is within the toler- the adaptive multiresolution triangulation method. This can straint, the nodesthat and Figure 29-aviolate cangiven bethe merged ance, and given no other neighboring nodes be quitethe a costly approach in terms of memory usage as values). this number of input elements (elevation The perance, and given that no other neighboring nodes violate the be quite a costly approach in terms of memory usage as this into the larger node Figure 29-b. restricted quadtree constraint, the nodes and triangles of numbervertex is several times largerproposed than the number input ele- this memory in number [42]ofeliminates restricted quadtree constraint, the nodes and triangles of number iserror severalmetric times larger than the of input eleFigure 25-a can be merged into larger node 25-b. 25-b. mentsments (elevation values). Theerror per-vertex error metric proThethe error vertex BofFigure isnode its vertical the forward make the monotonic, setting to the it to the cost. Figure 25-aFigure can be25. merged intoof the larger Figure (elevation values). Themetric per-vertex error metricit proFigure 25. The error vertex B is itsdistance verticaltodistance to the toforward to make the error metric monotonic, setting posed in mergible [Paj98a] eliminates this memory cost. average elevation of A andofC.AAn example of mergible maximum distance of vertices within the domain ofdomain the tri-of the triA average elevation and C. An example of maximum distance of vertices within the posed in [Paj98a] eliminates this memory cost. A It hasHowever, been aobserved in [42, 43]errorand [41] that for nodes, with respect Sectionto3.2, is given 25. angle. geometric approximation attribute nodes, withtorespect Section 3.2, in is Figure givenItin Figure 25. angle. in However, a Paj98b] geometric approximation error attribute has observed [Paj98a, that forfor objectItbeen has been observed in [Paj98a, Paj98b] that objectobject-space geometric error metrics the dependency Given thatGiven theB approximation error of allerror removed vertices has to be stored forstored each triangle that can ever be formed that the approximation of all removed vertices has to be for each triangle that can ever beby formed by B spacespace geometric errorerror metrics the dependency graph shown geometric metrics the dependency graph shown (outlined (outlined points in points Figure in 25-b) is within thewithin given the tolerthe adaptive multiresolution triangulation method. This can This graph shown in Figure 12 can be encoded into thecanerror Figure 25-b) is given tolerthe adaptive multiresolution triangulation method. in Figure 11becan encoded into the error metric itself byas a this in Figure 11 be can be encoded the error metric itself by a C and ance, and ance, given thatgiven no nodes violate the quite abe costly approach in terms of usage C other thatneighboring no other neighboring nodes violate the quite atechnique costlyinto approach inmemory terms of error memory usage as this As metric itself by a known as saturation. technique known as error saturation. As demonstrated in as error saturation. Asnumber demonstrated in restricted restricted quadtree constraint, the nodesthe andnodes triangles of number isnumber several times larger thanlarger the input elequadtree constraint, and technique triangles ofknown is several times than theofnumber of input eledemonstrated in Figure 31-a, the selection of a particular Figure 27-a,ments the (elevation selection of aofparticular vertex P metric (black Figure 27-a, the selection avalues). particular vertex P (black Figure 25-a can be merged the larger node Figure 25-b. values). The per-vertex error Figure 25-a can beinto merged into the larger node Figure 25-b. ments (elevation The per-vertex errorprometric provertex Pintoerror (black square) due to its error [Paj98a] this memory square) dueposed to value ε = 9, thethe allowed square) dueits its error value εeliminates =exceeding 9, exceeding allowed posed ineliminates [Paj98a] thiscost. memory cost.value ε = 9, A A exceeding the allowed tolerance τsplits = 5, causes several tolerance τ = 5,Itτ causes forced triangle splits (dashed tolerance = 5,been causes several triangle (dashed has observed inforced [Paj98a, Paj98b] that for objectItseveral has been observed in [Paj98a, Paj98b] that for objecta) a) b) B b) B a) b) lines). Tospace avoid such forced splits, error values are space geometric error metrics the dependency graph shown grey grey lines). Totriangle avoid such forced splits, error values are forced splits (dashed grey lines). To avoid geometric error metrics the dependency graph shownsuch Initial leaf shown nodes shown in a)are that are FIGURE FIGURE 25. Initial25.four leaffour nodes in a) that inand Figure 11 can bealong encoded the error itself propagated andin maximized along the dependency graph, as aitself Figure 11 can be into encoded into metric thegraph, error metric by a propagated maximized the dependency asby C forced splits, error values are propagated and maximized C in b) with inthe b)nodes with the outlined points the removed merged b) with outlined pointsindenoting the removed Fig. 29 Initialinmerged four leaf shown a) thatdenoting are merged technique known as error saturation. As demonstrated in technique known assaturation error saturation. As in demonstrated in shown in Figure 27-b. This error is performed in shown in Figure 27-b. This error saturation is performed in vertices in the merged node. along the dependency graph, as shown Figure 31-b. verticespoints in the merged node. the outlined denoting the removed vertices in the merged node. Figure 27-a, thevertex selection of atheparticular vertex P of (black 27-a, the selection of a particular vertex the preprocess: Each stores maximum value all P (black the preprocess: EachFigure vertex stores the maximum value ofpreprocess: all This error saturation is performed in the Each square)errors due toand itsdue error ε = value 9, exceeding the propaallowed major problem of the proposed bottom-up quadtree propagated square) to value its computed error ε = 9, and exceeding the allowed A majorAproblem of the proposed bottom-up quadtree its own error, propagated errors and itscauses own computed error, andall propatolerance τ = 5, several forced triangle splits (dashed vertex stores the maximum value of propagated errors initialization in [SS92] is the computation of the approximatolerance τ = 5, causes several forced triangle splits (dashed initialization in [SS92] is the computation of the approximathis maximum further along the dependency graph. a) b) a) b) gates gates this maximum further the such dependency graph. grey lines). To avoidalong such forced splits, error values arevalues A major problem ofthe the proposed bottom-up grey To avoid forced splits, error are error metric. While the vertical distance of a quadtree removed and its own computed error, and this maximum This canlines). be implemented bysimple apropagates simple traversal tion errortion metric. While vertical of removed FIGURE 25. Initial distance four leaf nodes shown in a) that in area) FIGURE 25. Initial foura leaf nodes shown that preprocess are This preprocess can be implemented by a traversal propagated and maximized along the dependency graph, as graph, as propagated and maximized along the dependency vertex (B in Figure 25) with respect to its linear interpolainitialization in [58] is the computation of the approximation merged b) with the outlined points denoting removed further along the dependency graph. This preprocess can merged in withlinear the outlined pointsthe denoting theover removed the grid-digital elevation values. Therefore, a fast topvertex (B in Figure 25) withinrespect tob) its interpolashown in shown Figure 27-b. This27-b. error saturation performed in over the grid-digital elevation values. Therefore, aisfast topin Figure This error saturation is performed in vertices the merged node. vertices the merged (line between A inand C ininFigure 25)anode. the immediate error While distance removed vertex down selection of preprocess: vertices according to their saturated error be implemented by a simple traversal over the grid-digital tion metric. (linetion between Athe andvertical C in Figure 25) inof the in immediate the preprocess: Each vertex stores the maximum value of all the Each vertex stores the maximum value of all down selection of vertices according to their saturated error parent node may be below a its given error threshold τ, it is not Arespect major problem of the proposed bottom-up quadtree (Bparent in Figure 29) with interpolation Atomajor problem of τ, theitproposed bottom-up quadtree metric directlyvalues. yields an adaptive and matching triangulaelevation Therefore, aown fastcomputed top-down selection node may be below a given errorlinear threshold is not (line propagated errors and its own error, anderror, propapropagated errors andcomputed its and propa- of metric directly yields an adaptive and matching triangulaclear that this removed vertex is within τ the distance toapproximathe initialization in [SS92] is the computation of the initialization in [SS92] is computation of the approximation ofgates a restricted quadtree, without the ofthe enforcing this maximum further along theneed dependency graph. between A this and removed C in Figure 29)isinwithin the immediate gates this maximum further along dependency graph. clear that vertex τ distance parent to the node vertices according to their saturated error metric directly tion of restricted quadtree, without the need of enforcing final result tion of an iterative bottom-up merging process. error metric. While theWhile vertical of aAs removed tion error metric. thedistance vertical distance of aa removed any quadtree constraints, forced orbyresolving This preprocess can be implemented a simple traversal This preprocess can splits be implemented by adepensimple traversal may below a given error threshold τ, it is not clear that finalberesult of an iterative bottom-up merging process. As yields an adaptive and conforming triangulation of a anylinear quadtree constraints, forced splitselevation or resolving depen(B vertex in Figure 25) with respect its linear interpolashown for avertex 2D example in (B Figure 26, this istonot in Figure 25) error withtometric respect its interpolaover the grid-digital elevation values. Therefore, a fastalso top-a fast topdency relations. This saturation techniques has over the error grid-digital values. Therefore, shown for a 2D example in the Figure 26, this error metric isFigure not this removed vertex within t distance to the result of tion (line between Abetween and C in 25) in the25) immediate restricted quadtree, without the need of enforcing tion (line A Figure and Cfinal in in the immediate dency relations. This error saturation techniques has also monotonic. Inisfact, resulting simplified surface based on down selection of verticesand toapplied their saturated error down selection ofaccording vertices to saturated error any been observed in [GRW00] can beaccording intheir various In fact, parent the surface based on node maysimplified be below abe given error threshold τ,been it is not anmonotonic. iterative merging process. As shown for a threshold 2D parent node may below avertices given error τ, itmetric is notindirectly thisbottom-up method doesresulting not interpolate the removed within quadtree constraints, forced splits or resolving dependency observed [GRW00] and can be applied in various yields an adaptive and matching triangulametric directly yields an adaptive and matching triangulaways to enforce constraints on multiresolution hierarchies clear that clear this removed is vertex within τ distance the this method does not interpolate the removed within thatmetric this vertex removed is withinways τ to distance to the example in Figure 30, this error isvertices not monotonic. In a bounded distance. tion of constraints a This restricted quadtree, without the need of enforcing tion ofpreservation a restricted quadtree, without the need of enforcing to enforce on multiresolution hierarchies relations. error saturation technique has also been as topology in isosurface extraction final resultfinal of an iterative merging process. As result of an bottom-up iterative bottom-up mergingsuch process. a bounded distance. anyAs quadtree constraints, forced splits or resolving depen- depenany quadtree constraints, forced splits or resolving fact, the resulting simplified surface based on this method such as topology preservation in isosurface extraction However, the top-down triangulation approach in [SS92] observed in [22] and can be applied in various ways to [GP00]. shown forshown a 2D example Figure 26, this error is not for a 2Dinexample in Figure 26, metric this error metricdency is not relations. This errorThis saturation techniquestechniques has also has also dency relations. error saturation the top-down triangulation approach in [SS92] [GP00]. does However, not computes interpolate the removed vertices within a bounded the distance to the original surface for each vertex enforce constraints on multiresolution hierarchies such as monotonic. In fact, the resulting simplified surface based on monotonic. In fact, the resulting simplified surface based 6been observed 7 in [GRW00] beenonobserved in [GRW00] and can be variousin various andapplied can beinapplied computeswith the respect distance original surface for each vertex toto thethecurrent adaptive restricted quadtree sur- within distance. this method does not interpolate the removed this method does not interpolate thevertices removed vertices within 6 topreservation 7 topology in isosurface extraction [21]. ways enforce constraints on multiresolution hierarchies ways to enforce constraints on multiresolution hierarchies with respect thetop-down restricted quadtree surface to approximation. Therefore, no accumulation ofinerrors acurrent boundedadaptive adistance. bounded distance. However, the triangulation approach [58] such as 3such topology preservation in isosurface extractionextraction preservation in isosurface 7 4as topology beyond the given threshold τ can occur, and the reconface approximation. Therefore, no accumulation of errors However, the top-down triangulation approach in [SS92]7in [SS92] thesurface top-down triangulation approach [GP00]. [GP00]. computes the distance to theHowever, original for each ver4 32 structed surface mapcomputes isτadistance correct the given threshold can the occur, andtothe reconthe toτ-approximation. the original forsurface each vertex distance thesurface original for each vertex 6 6 7 7 texbeyond with respect tocomputes therespect current adaptive restricted quadtree 2 with to respect the current adaptive quadtree surwith toerror the current restricted quadtree surallowed tolerance τadaptive restricted structed surface map is a correct τ-approximation. 6 6 9 7 surface approximation. Therefore, no accumulation of erface approximation. Therefore, no accumulation of errors of errors a) face approximation. no accumulation allowed error tolerance τ Therefore, b) 7 4 3 76 4 3 6 9recon7 rors beyond the given threshold can occur, reconbeyond the given τ threshold τ canand occur, the reconbeyond the given threshold τ the canand occur, and the FIGURE 27. Initial error metric shown in a) for selected 2 2 b) a) structed map is a correct structed surface map isτ-approximation. a correct τ-approximation. vertices, structed surface map is a surface correct τ-approximation. white vertices are below and black vertices above FIGURE 27. Initial error metric shown in a) for selected errorallowed tolerance τ tolerance τ error the error threshold τ=5. Forced splits are indicated with accumulated A similar vertical distance measure allowed has been used in [14]vertices, 6 6 9 7 are 6 below 9 7 and white vertices black 6vertices above dashed grey lines. Propagation of error saturation approximation error ε b) b) shown in a) a) and [42],accumulated modified to satisfy the monotonicity requirementthe error τ=5. Forced splitssplits. are indicated with b) a) b) forthreshold the vertex27. causing FIGURE 27. forced Initial error metric shown in a) for selected FIGURE Initial the error metric shown in a) for selected dashed grey lines. Propagation of error saturation shown in approximation ε d outlined in [13]. error However, in contrast to [14], and also [13], vertices, white are below and black vertices above vertices, white vertices arevertices below and black vertices above Fig. Initial error metric shown in a) for selected vertices, white d/2 b) for the 31 vertex causing the forced splits. Other geometric metrics, instead the vertical thedistance error threshold τ=5. Forced splits are indicated with the error threshold τ=5. Forced splits are of indicated with d/4 accumulated accumulated which define the error metric on triangles, the RQT approach vertices are below and black vertices above the errorinthreshold d/8 d offset measure, must be treated in a similar way to preserve dashed grey lines. Propagation of error saturation shown in τ = 5. dashed grey lines. Propagation of error saturation shown approximation error ε approximation error ε d/2 geometric distance instead of the vertical [42] defines FIGURE the error metric onnodes vertices. If the precomputed perOther Forced splits are indicated with dashed grey lines. Propagation of error b)an for causing themetrics, vertex thesensitive forced splits. b) for the vertex thecausing forced splits. d/4 satisfying monotonicity for efficient output top-down 26. Merging ofd/8 approximation d d measure, offset must be in treated inthea similar way to the preserve saturation shown b) for vertex causing forced splits. triangle it is error straight forward make the inerror metric monothreshold locallytomay result intolerable d/2 d/2large adaptive mesh approach. Other geometric distanceinstead metrics,ofinstead of the vertical Other refinement geometric distance metrics, the vertical d/4 d/4 monotonicity formeasure, an efficient output sensitive top-down FIGURE 26. Merging errors of nodes accumulated withsatisfying respect tothe the approximation final d/8 d/8result. offsetgeometric measure, must be inerror a similar wayisto preserve offset must be treated in treated a similar way to preserve An object-space approximation metric error threshold locally may result in intolerable large adaptive mesh refinement approach. + monotonicity for an efficient output FIGURE 26. Merging of nodes satisfying the approximation monotonicity for an efficient output sensitive top-down FIGURE 26. Merging of nodes satisfying the approximation A similar vertical distance measure has been used in defined in [DWS 97] by calculating for each trianglesensitive t in the top-down accumulated errors with respect to the final result. error threshold locally may result in intolerable large

adaptive mesh refinement approach. adaptive mesh refinement approach. An object-space geometric approximation error metric [EKT01] and [Paj98a], modified toerrors satisfy the monotonicity the thickness εt of a bounding wedgieisthat accumulated with respect to the final result.bin-tree hierarchy accumulated errors + with respect to the final result. +97] by A similar vertical distance measure has been used in An object-space geometric approximation error defined in [DWS calculating for each triangle t inmetric the28. An object-space geometric approximation error is metric is requirement outlined in [DWS 97]. However, in contrast to encloses all children of its subtree as shown in Figure + +in +to Avertical similar vertical distance measure has used in in Amodified similar distance measure has beenbin-tree usedbeen in hierarchy defined [DWS by calculating forsimplified each triangle defined [DWS 97] byεcalculating for each triangle t in the t in the [EKT01][EKT01], and [Paj98a], satisfy the monotonicity the thickness of97] a bounding wedgie that and also [DWS 97], which define the error metric This measure bounds the maximal deviation of a t +[Paj98a], [EKT01] [Paj98a],into modified the monotonicity [EKT01] and modified satisfy to the monotonicity bin-tree hierarchy the εt of a bounding wedgie that bin-tree hierarchy the thickness εshown a bounding wedgie requirement outlined in [DWS 97]. and However, contrast tosatisfy t of input encloses allwith children oftoits subtree as thickness in Figure 28. that on triangles, the RQT approach [Paj98a] defines error + the mesh the full resolution data, however, +in [DWS outlined 97]. However, in torespect + requirement requirement outlined in [DWS 97]. However, in contrast tocontrast encloses all of children of itsassubtree encloses all children its subtree shownasin shown Figurein 28.Figure 28. [EKT01],metric and also [DWS 97], which define the error on vertices. If[EKT01], precomputed per triangle it is straight + metric This measure bounds the maximal deviation of a simplified + has to be computed and stored for every triangle that can and also [DWS which the error metric [EKT01], and also [DWS 97], which97], define thedefine error metric This bounds measurethe bounds the deviation maximal deviation of a simplified This measure maximal of a simplified on triangles, the RQT approach [Paj98a] defines the error with tomesh the with fulltoresolution input data, however, on triangles, RQT approach [Paj98a]mesh defines therespect errorwith on triangles, the RQT the approach [Paj98a] defines the error respect the full resolution data, however, mesh respect the fulltoresolution input data,input however, error threshold locally may result in intolerable large

although hardly noticeable in practice, the metric as defined in [LKR+96] suffers from the same limitations as the error computation of the bottom-up triangulation method presented in [SS92] and does not provide a guaranteed error bound on the final triangulation. For this, the error metric must either be saturated correctly, or defined and maximized Survey on semi-regular multiresolution models for interactive terrain rendering 15 on each triangle with respect to the full resolution mesh. Other geometric distance metrics, instead of the vertical offset measure, must be treated in a similar way to preserve monotonicity for an efficient output sensitive top-down v adaptive mesh refinement approach. εv vl An object-space geometric approximation error metric v vr is defined in [13] by calculating for each triangle t in the FIGURE 29. distance Vertical εvdistance δbetween base bin-tree hierarchy the thickness εt of a bounding wedgie that Fig. 33 Vertical between removed base removed vertex v and its interpolation v. ¯ encloses all children of its subtree as shown in Figure 32. linear v and its linear interpolation v. vertex This measure bounds the maximal deviation of a simplified mesh with respect to the full resolution input data, however, For efficient block-based mesh simplification, the viewFor efficient block-based simplification, the viewimage-space errormesh metric is extended to entire has to be computed and stored for every triangle that candependent + dependent image-space error metric is extended possibly be defined by the multiresolution hierarchy. Thisquadtree blocks in [LKR 96]. In particular, if fortoaentire quadtree quadtree blocks in [34].onto In particular, for a quadtree rebasic object-space bound is hierarchy. input to a This view-region possibly be definedapproximation by the multiresolution box that when projected screen mayifexceed τ.higher There-resoluR the maximum delta projection of all gion R the maximum delta projection of all higher resoludependent image-space error metric as discussed in the folbasic object-space approximation bound is input to a view- tion of all vertices v∈R fore,vertices if the maximum error εmax within vertical R is smaller smaller than the threshold τ then vertices than the τ then lowing section. dependent image-space error metric as discussed in the fol- istion smaller thanwithin εl thenRRiscan be replaced by threshold a lower LOD they can be ignored. For an axis-aligned bounding box they can For an axis-aligned bounding box of of a lowing section. block, and be if εignored. max is larger than εh then R has to be refined a quadtree block R and given the viewing parameters, oneone can can quadtree block R and given viewing parameters, into smaller blocks. Otherwise screen space projected compute the smallest elevation delta ε and largest ε of that compute smallest εl and largest εh of that v ∈ R have delta errors ρvthe of all vertices elevation to be lcomputed and hcomεt box that when projected onto screen may exceed τ. Therepared to τ individually. fore, if the maximum vertical error εmax of all vertices v ∈ R thickness of a R bounding wedgie asby introduced in is The smaller than εεl t then can be replaced a lower LOD +97] (see The thickness of a bounding an [DWS Figure 28) can be used to estimate the maxiFig.FIGURE 32 The 28. thickness of a bounding wedgie wedgie defines defines an object-space block, and if εmax is larger than εh then R has to be refined object-space geometric approximation error. geometric approximation error. mal distortion ρt of a triangle t forspace view-depenintoimage-space smaller blocks. Otherwise the screen projected dent simplification similar the approach presented in errors ρv of all vertices v ∈ to R have to be computed and com5.2 Image-Space Approximation Error +96]. Consequently, for any given triangulation T, its [LKR pared to τ individually. A static object-space geometric error metric is not sufficient distortion be bounded by the maximum in The thickness εt ofcan a bounding wedgie as introduced to adaptively simplify terrain for perspective rendering. This image-space t ∈ T . Additionally projected length ρ of ε of all triangles [13] (see Figure 32) can be used to estimate the maximal t t is far awayApproximation regions must beError simplified more aggres+97] pro6.2because Image-Space to this image-space distortion error metric, [DWS image-space distortion ρ of a triangle t for view-dependent t sively than nearby areas. As this depends on the observer’s several other mesh refinement simplification simplification similar to the approachand presented in [34]. location and changes geometric continually,error the metric error metric be poses A static object-space is not must sufficient measures such as: backface detail reduction, surface normal Consequently, for any given triangulation T , its image-space defined dynamically and view-dependently. to adaptively simplify terrain for perspective rendering. This distortion, distortiontexture-coordinate can be boundeddistortion, by the silhouette maximumpreservaprojected +96] is because away must more aggresIn [LKRfar theregions definition ofbe ansimplified efficient view-depenlength ρt frustum of et of culling, all triangles t ∈ T . Additionally to this tion, view atmospheric or depth attenuasivelyimage-space than nearbyerror areas. As this depends on thethat observers dent metric has been proposed deter- tion, image-space distortion error metric, [13] proposes several and region of interest. locationremoval and changes continually, error metric mines or inclusion of the vertices for a must givenbe other mesh refinement and simplification measures such In [LP01] and [Ger03] it has been observed that also defined dynamically and in view-dependently. viewpoint. As illustrated Figure 29, the basic idea of this as: backface detail reduction, surface normal distortion, view-dependent error metrics can, in a sense, conservatively In [34] the definition of an efficient view-dependent error metric is that triangle pairs can be merged if the texture-coordinate distortion, silhouette preservation, view saturated similar to [Paj98a, Paj98b] for object-space image-space error been proposed thatv determines change in slope εv metric at the has removed base vertex projected be frustum culling, atmospheric or depth attenuation, and measures. This works if the image-space error metric ρv of a removal or inclusion of vertices for a given viewpoint. As into screen space is smaller than a given threshold τ. The region of interest. illustrated in Figure 33, the basic idea of this error metric vertex v is based on a static geometric approximation error line segment ε v = v – v between the removed base vertex v In [35,is 36]perspectively and [20] it hasprojected been observed also viewis that triangle pairs can be merged if the change in slope εv which into that image-space and its linear interpolation v = ( v l + v r ) ⁄ 2 is perspectively dependent error metrics can, in a sense, conservatively εv at the removed base vertex v projected into screen space (divided by dv given the distance dv of the vertex v to the be projected onto the screen space viewing plane as ρ . If ρv is saturated similar to [42, 42] for object-space measures. This is smaller than a given threshold τ. The linev segment For this to work, additionally to ε , a conservative smaller than the tolerance τ then the vertex v can be viewer). works if the image-space error metric ρvv of a vertex v is ε = v − v¯ between the removed base vertex v and its linear bounding sphere radius rv is needed for each vertex. This removed and the corresponding pairs merged. Note based on a static geometric approximation error εv which interpolation v¯ = (vl + vr )/2 triangle is perspectively projected attribute r definesprojected a nested into bounding sphere hierarchy on d v is perspectively image-space (divided by that the projected delta segment ρ is not defined with v v onto the screen space viewing plane as ρv . If ρv is smaller the restricted quadtree vertex dependency graph [LP01]. Athis given the distance d of the vertex v to the viewer). For respect to the highest resolution mesh or the current LOD v than the tolerance τ then the vertex v can be removed and vertex v will be selected for the current LOD triangulation if its to work, additionally to εv , a conservative bounding sphere mesh but rather based on the pairs adjacent verticesNote vl andthat vr of the corresponding triangle merged. the conservative ε ρ v = --------------image-space error is largerrvthan the a radius r is needed for each vertex. This attribute defines the next delta lower segment resolution in not the defined quadtree. v dv – rv projected ρv is withTherefore, respect to given threshold τ. although hardly noticeablemesh in practice, metric LOD as defined the highest resolution or thethe current mesh nested bounding sphere hierarchy on the restricted quadtree + dependency graph 36]. A vertex v willand be selected In SMART [BPS04] the[35, same basic error metric viewin suffers the samevertices limitations as the but[LKR rather96] based on from the adjacent vl and vr error of the vertex εv for the current LOD triangulation if its conservative imaged dependent vertex selection criterion < + gives rise to a r ---computation of the bottom-up triangulation method prev v next lower resolution in the quadtree. Therefore, although τ εv ε τ is larger than the given threshold space error ρ = r τ-sphere defined for each vertex by the radius = + . r v τ. v ---sented in [SS92] and does not provide a guaranteed error d −r v hardly noticeable in practice, the metric as defined in [34] v v τ Hence vertex selection is simplified to all vertices whose τIn SMART [5] the same basic error metric and viewbound on the final triangulation. For this, the error metric suffers from the same limitations as the error computation v elaborated in contain theselection viewpoint. Further it εis dependent vertex criterion dv < must be saturated correctly, or definedpresented and maximized of theeither bottom-up triangulation method in [58] spheres τ + rv gives rise to thatdefined a so called τ-save-distance canradius dynamically andeach does not provide a guaranteed error bound on the [BPS04] a τ-sphere for each vertex by the rvτ = ετv be + rv . on triangle with respect to the full resolution mesh. which bounds isforsimplified each vertex of the tfinal triangulation. For this, the error metric must either maintained, Hence vertex selection to the all deviation vertices whose that does change the LOD it level of the vertex. be saturated correctly, or defined and maximized on each viewpoint spheres contain thenot viewpoint. Further is elaborated in [5] This allowsτ-save-distance for optimized LOD triangle with respect to vthe full resolution mesh. thatconcept a so called can computations dynamically as bewell mainas efficient vertex caching, and results in significantly εv vl improved LOD meshing and rendering performance. v v r

FIGURE 29. Vertical distance δbetween removed base vertex v and its linear interpolation v.

For efficient block-based mesh simplification, the viewdependent image-space error metric is extended to entire quadtree blocks in [LKR+96]. In particular, if for a quadtree

6. Cluster Triangulations The impressive improvement of graphics hardware in terms of computation and communication speed is reshaping the real-time rendering domain. A number of performance and

I depe τ-sph Henc sphe [BPS main view This as e impr

6. C

The of co realarchi real-

T milli impl

16

tained, which bounds for each vertex the deviation of the viewpoint that does not change the LOD level of the vertex. This concept allows for optimized LOD computations as well as efficient vertex caching, and results in significantly improved LOD meshing and rendering performance.

6.3 Discussion The error metric of triangle bin-tree approaches is defined on the triangles in the binary hierarchy. Due to the property of a binary tree having roughly 2n nodes for n leaf nodes and a triangle mesh having 2n triangles for n vertices, storage of a triangle based error metric requires maintaining about 4n error values. In contrast, the quadtree based approaches define the error metric on vertices and only require n error values to be stored. Simple geometric approximation error metrics based on vertical displacement can be found in [58], [14], [42] and [19]. More sophisticated view-dependent error metrics such as screen space distortion are discussed in [34] and [13], and saturated view-dependent error metrics are presented in [35] and [5]. Projection of a global geometric approximation error metric into image-space will be most efficient for large scale terrain visualization in practice. In [13] it was observed that an error metric must be hierarchically 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 monotonic geometric error metrics. The type or error metric and error representation has thus important consequences also on structure size and efficiency. Arguably the most space efficient representation of a multiresolution triangulation of a height-field is an implicit hierarchical structure, embedded in an array, with a saturated error metric defined on the grid of elevation values as proposed in [42] and [35]. This representation does not require any information to be stored that describes the structure of the multiresolution hierarchy, and only needs the elevation and error values for each grid point. Furthermore, such an elevation grid can also efficiently be partitioned and stored on a remote server as shown in [42] and [43], or mapped linearly to disk as demonstrated in [35]. However, this fully implicit representation is only possible if the tree is complete, i.e., if the input data is a uniformly sampled square. Other related techniques fot the rfficient representation and compression of a triangle bin-tree hierarchy is discussed in [14] and [19]. However, both approaches use triangle based error metrics which are space inefficient due to the large number of error values that have to be stored. Efficient LOD-based spatial access and triangulation is discussed in [42], and extraction of an adaptive triangulation in a sequentially stored and compressed triangle bin-tree representation is considered in [19]. Very efficient representations are further achieved in cluster based triangulation approaches such as [7,7,63,28], since errors and other structural information is only stored per cluster.

Renato Pajarola, Enrico Gobbetti

7 System Issues In this section we want to briefly review a few system and database level aspects of terrain visualization in conjunction with the LOD triangulation and rendering algorithms discussed so far. This includes topics such as dynamic scene management, progressive or incremental meshing, data storage and retrieval, or client-server architectures that are important for large scale real-time terrain visualization systems.

7.1 Dynamic Scene Management Most of the discussed real-time terrain triangulation and visualization algorithms assume the entire terrain data set to be accessed directly in virtual memory and do not explicitly consider dynamically loading terrain from disk or from a database server. Also most algorithms can dynamically extract a particular LOD triangle mesh from a hierarchical multiresolution data structure holding the terrain data. Fully main-memory resident approaches generally generate a space-LOD query for each rendered frame given the current view frustum and LOD tolerance threshold t settings. This query is generally answered using the multiresolution terrain triangulation hierarchy. Efficient recursive top-down LOD selection and triangulation algorithms for real-time terrain rendering are presented in [58, 34, 13, 42, 14], of which [34] and [42] address the issue of out-of-core data management and are discussed in the following section. Specifically designed for fast real-time LOD triangulation and rendering in main memory is the system presented in [13] (ROAM). As discussed in Section 4.2, the run-time triangulation algorithm of ROAM is based on a greedy algorithm that maintains two priority queues, the split queue Qs and the merge queue Qm . For each frame the priority queues Qm and Qs are used to incrementally simplify and refine the current triangle mesh to reach a triangulation that satisfies the given error threshold t. The priorities of Qs and Qm are based on the error metric defined on the triangles. The ROAM terrain rendering system [13] is designed to support guaranteed frame rates in an interactive visualization application. Despite the maintenance of priority queues at run-time, which requires order O(n log n) cost for each update, the method is efficient as it is output sensitive (for monotonic error metrics) and because the triangulation can be updated incrementally between rendered frames. In addition to the basic algorithms, a couple of system level issues are discussed as well such as reducing the amount of CPU time spent on updating priorities between frames, or limiting the number of split and merge operations to bound the triangle count and guarantee consistent frame rates. Clustered triangulation approaches typically adapt their representation by traversing an in-core structure that represents the coarse-grained multiresolution models. BDAM [7], and P-BDAM [8] use a top-down refinement approach based on saturated errors and bounding volumes similar to SOAR

Survey on semi-regular multiresolution models for interactive terrain rendering the terrain data be managed on managed a separate and not the terrain the to terrain data todata be to managed be on a separate onserver a separate server server and not and not triangulation for

17 points and triangles

constrained triangulation

triangulation triangulation for for points and points triangles and triangles constrained constrained triangulation triangulation on the rendering workstation. [35,36]. The 4-8locally texture hierarchy system [28] use instead locally locally on theon rendering the rendering workstation. workstation. error tolerance τerror tolerance inside query region R region query region R region error tolerance τ τinside query inside queryfor Rregion Rfor query for query Rregion R VGIS maintains themaintains terrain data diskon partitioned the dual queue approach of ROAM [13]. Allon these systems VGIS VGIS maintains the terrain the terrain data data disk onpartitioned diskinto partitioned into into 129x129 vertices each. All levels ofAll thelevels quadtree of files 129x129 of 129x129 vertices vertices each. All levels of theofquadtree the quadtree maintain in-corefiles theoffiles dependency graph (for aeach. conforming 2 2 1292 hierarchy arehierarchy stored onare disk, a setas ofa blocks of of 129 hierarchy are stored stored oneach disk, onaseach disk, each set asmemof a set blocks blocks of 129of triangulation) and incrementally fetch from external vertices. Duevertices. toDue this to multi-level of the heightvertices. Due thistomulti-level thissub-sampling multi-level sub-sampling sub-sampling of theof heightthe heightory the required field, LODelevation data. The choice ofduplicated the particular values are duplicated multiple levels. At levels. field, field, elevation elevation values values are areonduplicated on multiple onremultiple levels. At At finement strategyrun-time, is less important forof clustered triangulation retrieval of the terrain data from strictly run-time, run-time, retrieval retrieval theofterrain the terrain data disk from dataisfrom disk isdisk strictly is strictlya) b) c) a) a) b) b) c) c) a) b) c) toconstraint accessing grid 129x129 constraint to accessing tofixed accessing fixedresolutions fixed grid here, resolutions grid of resolutions of 129x129 of 129x129 approaches than constraint for the other methods surveyed since FIGUREFIGURE 33. FIGURE Rectangular query shown in a) shown and 33. Rectangular 33. range Rectangular range range query query shown in a) in anda) and vertex blocks at a time and no further LOD based access is vertex vertex blocks blocks at a time at a and time no and further no further LOD LOD based based access access is is vertex given ingiven b). RQT constraints are initial selection initial vertexrange vertex selection selection given in b).in inRQT b). and constraints RQTinitial constraints are areselecthe run-time dependency graph size is output sensitive and Fig. 34initial Rectangular query shown a) vertex supported. Insupported. mainInmemory, an memory, approximation of the entire enforced on the range shown in c).as shown supported. main In main memory, an approximation an approximation of theofentire the entire enforced enforced on thequery on range theasquery range as query shown in c). in c). small, and all operations are amortized over thousands of tion given in b). RQT constraints are enforced on the range query as data setdata as aset global quadtree of the terrain isthe maintained data as set a global as a global quadtree quadtree of theof terrain terrain is maintained isthat maintained that that of using partition the elevation data, Instead ofgrid using oftiles using gridtotiles gridtotiles partition to partition the elevation the elevation data, data, shownInstead in c).Instead rendered triangles. can becan dynamically updatedupdated by updated loading macro nodesmacro of nodes be candynamically be dynamically by loading by loading macro nodes of of

[BP03][BP03] combines spatial grouping withgrouping a LOD to clus[BP03] combines combines spatial spatial grouping with apriority with LODa priority LOD priority to clusto clus129x129 vertex blocksvertex from blocks disk. thisOn macro-level, the the the 129x129 129x129 vertex blocks fromOn from disk. disk. this Onmacro-level, this macro-level, ter elevation data ondata disk.on Starting with Starting a simple group of vertiter elevation ter elevation data disk. onStarting disk. with awith simple a simple group group of vertiof vertidecision on decision which parts ofparts the parts terrain are atare which decision on which on which of theofterrain theloaded terrain are loaded loaded at which at which ces of the quadtree triangulation hierarchy, a cluster is a cluster cesrestricted of ces the of restricted the restricted quadtree quadtree triangulation triangulation hierarchy, hierarchy, a cluster is is fixed grid disk main is based fixedresolution fixed grid resolution gridfrom resolution frominto disk from into diskmemory main into main memory memory isreached, based is basedor the LOD priority of the vertices in the cluster exformedformed by recursively same,adding or similar LOD child formed by recursively by adding recursively adding same, same, or similar or similar LOD LOD child child 7.2 Out-of-Core on Data Organization theondistance of distance the ofviewpoint the Thesurface. theondistance the theofviewpoint the from viewpoint fromsurface. from the surface. the The aThe ceeds tolerated evenness bound. cluster forms nodes until: the sizethe limit forlimit a single is reached, oristhe nodes nodes until: until: size the size for limit a cluster single for aHence single cluster cluster iseach reached, reached, or theor the height-field data indata mainindata memory is then each height-field height-field main in memory main memory issimplified thenissimplified thenforsimplified for for eachthe quadtree hierarchy structure and preserves spaa each part LODof priority of thepriority vertices in cluster exceeds a tolerated LOD LOD priority of theof vertices thethe vertices in the in cluster the cluster exceeds exceeds a tolerated a tolerated frame based on thebased view-dependent block- blockand vertex-level frame frame based on the on view-dependent the view-dependent blockand vertex-level and vertex-level While early systems such as VGIS [29,34,33], ViRGIS [42, tialevenness bound. Hence each cluster forms a part the evenness evenness bound. bound. Hence each each cluster cluster forms forms aofpart a of parttheof the selectivity as well as Hence uniform LOD distribution within error metrics discussed in discussed Section 3.3 render a continuous error metrics error metrics discussed in Section into Section 3.3 to3.3 render to render a continuous a continuous quadtree hierarchy structure andstructure preserves spatial selectivity as selectivity quadtree quadtree hierarchy hierarchy structure and preserves and preserves spatial spatial selectivity as as 45,46], [27] andadaptive TerraVision II [50], as well as extremely the cluster. LOD triangulation of the visible terrain. adaptive adaptive LOD LOD triangulation triangulation of theof visible the visible terrain. terrain. well aswell uniform LOD distribution the cluster. aswell uniform as uniform LOD distribution LODwithin distribution within within the cluster. the cluster. successful viewers Insuch as Google Earth NASA WorldIn [27] contrast, ViRGIS applies a or windowing thatconcept In contrast, In contrast, ViRGIS ViRGIS applies applies a windowing a concept windowing concept that that the entire terrain data set is block-partitioned into In [Hop98] the entire terrain data set is block-partitioned In [Hop98] In [Hop98] the entire the entire terrain terrain data set data is set block-partitioned is block-partitioned wind, generally manage the terrain data setofentire oftheof rectandynamically maintains a maintains fraction ofa the data in quadratic dynamically dynamically maintains a as fraction fraction entire the set entire data set datainset in patches on disk. Each patch may be pre-simplified into quadratic patches on disk. pre-siminto quadratic into quadratic patches patches onEach disk. onpatch Each disk. may Each patchbepatch may be may pre-simbe pre-simmain memory, and uses a tiling of the visible scene. This tilmain more memory, main memory, and uses and auses tiling a tiling of the[35, of visible the36, visible scene. This This tilgular elevation grid tiles, recent approaches 5] scene. to plified atilminimum and stored on disk, however, block to a minimum andtolerance stored disk, plified plified to tolerance a minimum to tolerance a minimum tolerance and on stored and stored onhowever, disk, on however, disk, however, ing approach supports efficient dynamic scene management, ing approach ing approach supports supports efficient efficient dynamic dynamic scene scene management, management, use clever indexing and, when possible, memory mapping boundaries preserved atarethe finest guarantee block boundaries are preserved atpreserved the finest toto blockare block boundaries boundaries are preserved at theresolution atresolution finest the finest resolution resolution to to and updates from the terrain database candatabase be can composed and updates and updates from the from terrain the terrain database becan composed befrom composed from from techniques. guarantee matching triangulations. In main memory, thememory, guarantee guarantee matching matching triangulations. triangulations. In main In main memory, the theof conforming triangulations. In main memory, the interior fixed sized rectangular range-queries, one range-query for fixed fixed sized sized rectangular rectangular range-queries, range-queries, one range-query one range-query for for interior of each isblock adaptively for interior interior ofquadratic each of quadratic each quadratic block is simplified adaptively issimplified adaptively simplified simplified forframe. for In tile-based every systems terrain data can easily exceed each quadratic block isblock adaptively for each newly visible tile. The dynamic scene manager maineverythe every newly newly visible visible tile. The tile. dynamic The dynamic scene scene manager manager main-maineach frame. Simplification across across the highly tessellated each each frame. frame. Simplification Simplification across the highly the highly tessellated tessellated the main (or eventains virtual) memory capacity the quadtree workstaeach tile asterrain a restricted quadtree triangulation tainsterrain each tains terrain each tile astile a restricted asof a restricted quadtree triangulation triangulation Simplification across the highly tessellated block boundaries block block boundaries is performed a second stage, after stage, block boundaries boundaries is performed is in performed in a in second a second stage, after after that generates adaptive LOD triangle strips for faststrips renderthat as generates that generates adaptive adaptive LOD LOD triangle triangle strips for fast forrenderrendertion used for rendering the data is dynamically loaded isfastperformed insimplification, a second stage, after simplifiblock-internal to reduce artifacts between block-internal block-internal simplification, simplification, to reduce toblock-internal reduce artifacts artifacts between between Toing. avoid computing updates of the terrain triangulation To ing. avoid To avoid computing computing updates updates of theof terrain the terterrain triangulation triangulation on-demand froming. disk. VGIS [29,34,33] maintains the block regions. block block regions. regions. cation, to reduce artifacts between block regions. for each a deferred cumulative updates strategy is strategy forframe, each for frame, each frame, a deferred a deferred cumulative cumulative updates updates strategy is is rain data on diskproposed partitioned hierarchy of blocks of without A different approach forapproach out-of-core manageA different approach for out-of-core memory A different A different approach for out-of-core for memory out-of-core memory memory managemanageto proposed reduce data costs without signifiproposed tointo reduce toamanagement reduce data management data management costs costs without signifisignifiment multiresolution data has been presented inpresented [LP01, ment ment of of multiresolution ofmultiresolution multiresolution data has data been has presented been in [LP01, in [LP01, 129x129 verticescant each. atofrun-time, retrieval of the management data has been presented loss ofHence display quality. The quality. terrain-server, accessible byaccessible cant loss cantofloss display display quality. The terrain-server, The terrain-server, accessible by of by LP02] which relies on thepurely virtual memory management LP02]LP02] whichpurely which relies relies purely on theon virtual the memory memory management management rendering-clients, multiple concurrent concurrent ViRGIS ViRGIS rendering-clients, terrain data frommultiple diskmultiple isconcurrent based onViRGIS block access at rendering-clients, fixedmaintains grid maintains inmaintains [35, 36] which relies purely onvirtual the virtual memory functionality of modern operating systems. Thesystems. basic functionality functionality of modern of modern operating operating systems. Theprinciple basic The principle basic principle the terrain height-field in a quadtree database that efficiently the terrain the terrain height-field height-field in a quadtree in a quadtree database database that efficiently that efficiently resolutions. In main memory a partial global terrain quadtree management functionality of modern operating systems. to sequentially the grid-digital samples based is to sequentially is to order sequentially order the order grid-digital theelevation grid-digital elevation elevation samples samples based based supports LOD-based rectangular range queries as outlined supports supports LOD-based LOD-based rectangular rectangular range range queries queries as outlined as isoutlined is maintained, and updated dynamically by loading elevaThe basic is todefined sequentially order the grid-digital onqueries a hierarchical, space-filling curve indexon aprinciple hierarchical, on a recursively hierarchical, recursively recursively defined defined space-filling space-filling curve curve index-indexbelow.below. Furthermore, it supports LOD-interval range queries below. Furthermore, Furthermore, it supports it supports LOD-interval LOD-interval range range queries +97]. The +97]. +The space-filling property of such ingincrescheme [ARR tion data blocks which on demand Adaptive simplifica97]. The property property ofansuch of an such an ing scheme ing scheme [ARRbased [ARR samples onspace-filling a space-filling hierarchical, recursively refinewhich a from client’s current ε-approximation by increwhich refine refine a disk. client’s a client’s current current ε-approximation ε-approximation by elevation increby index preserves spatial proximity between index neighbors, and index index preserves preserves spatial spatial proximity proximity between between index index neighbors, neighbors, and and tion is performedmentally frommentally this in-core data each based loading moreloading detail for a detail particular update mentally loading morefor more detail for frame a for particular aLOD particular LOD LOD update updatespace-filling curve defined indexing scheme [1]. The the hierarchical – e.g. of– the index asindex usedindex the hierarchical thedefinition hierarchical definition definition e.g.z-curve –ofe.g. the of z-curve the z-curve asinused asinused in interval. interval. interval. on the view-dependent blockand vertex-level error metrics space-filling property of such an index preserves spatial [LP01][LP01] – provides a –basic Theordering. multiresolution [LP01] – provides provides aLOD basicaordering. LOD basic LOD ordering. The multiresolution The multiresolution RQT in approach ViRGIS supports efficient spaceTheapproach RQT The RQT approach in ViRGIS in ViRGIS supports supports efficient efficient space-space- between index neighbors, and the hierarchical discussed in SectionThe 4.1. proximity restricted quadtree, or quadtree, bin-tree triangulation hierarchy is thus restricted restricted quadtree, or bin-tree or bin-tree triangulation triangulation hierarchy hierarchy is thusis thus LOD access by supporting rectangular range queries for aqueries LOD LOD access access by supporting by supporting rectangular rectangular range range queries for a for a In ViRGIS [42,45,46], a tiled+sliding window concept is definition mappedmapped to e.g. a mapped linear that can be can stored on external the z-curve as used in [35] toofa data linear to alayout linear data layout dataindex layout that thatbe can stored be stored on external onprovides external + + particular LOD [POS 98, PW01]. The query can berange particular particular LOD LOD [POS [POS 98, PW01]. 98, PW01]. The range query The query range can becan be memory. The out-of-core management is then issolved by memory. memory. Theordering. out-of-core Thedata out-of-core data management data management thenissolved then restricted solved by by applied that dynamically maintains a fraction of the entire a basic LOD The multiresolution any height-field grid aligned rectangular region R, and theandR,the any height-field any height-field grid aligned grid aligned rectangular rectangular region region R, and the memorymemory mapping thismapping filethis at run-time toatanrun-time array structure. memory mapping file this at file run-time to andata array to an data arraystructure. data structure. data set in mainLOD memory, similar tospecified Figure A dynamic can beLOD specified either by an either error tolerLOD can becan specified be either by1. anthreshold, by error an threshold, errororthreshold, orquadtree, toleror toler- or bin-tree triangulation hierarchy is thus mapped View-dependent adaptive LODadaptive triangulation and real-time ren-real-time View-dependent View-dependent adaptive LOD triangulation LOD triangulation and real-time and ren- renance interval. As shown in Figure 33, special attention is ance interval. anceupdates interval. As shown As shown in Figure Figure 33, special 33, special attention attention is scene manager dynamically the set ofinvisible tiles, to ais linear data layout that can be on memory external dering can then bethen carried outbefully (virtual) main memory dering dering can can be then carried carried outinfully out in fully (virtual) instored (virtual) main memory main the demand, border ∂Rthe ofand the region R. Theregion geometrical paid topaid the to border border ∂R query of ∂R theof query the query region R. TheR. The memory. geometrical The out-of-core data management is then solved by loading from paid disktoon maintains each tile it-geometrical withoutwithout specific out-of-core data access without specific specific out-of-core out-of-core data mechanisms. access data access mechanisms. mechanisms. wether a vertex is inside theisquery region or not, test wether test wether a vertex a vertex is inside inside the query the query region region oris not, isnot, is self as a RQT. Totest avoid excessive loading from disk, aquadtree stratbyor memory mapping this fileapproaches at run-time an array data Clustered triangulation approaches obtain obtain theirto effiClustered Clustered triangulation triangulation approaches obtain their their effi- effiextended by extended constraints the restricted quadtree triangulaextended by constraints byofconstraints of theofrestricted the restricted quadtree triangulatriangulaciency byView-dependent moving the moving granularity all of LOD operations egy of deferred cumulative updates isinclude proposed which increciency ciency by moving by the granularity the of granularity allof LOD all LOD operations operations structure. adaptive LOD triangulation and tion. The border ∂R vertices to form matchtion. The tion. border Themust border ∂R must ∂R include must include vertices vertices toaform to aform matcha matchor triangles small from individual fromvertices individual vertices vertices or triangles triangles tomesh small to portions. small mesh mesh portions. mentally updatesing grid tiles in-core based on triangulation the ad-query restricted quadtree triangulation of therequired query region R as real-time can then betoorcarried out fully in portions. (virtual) ing restricted ing restricted quadtree quadtree triangulation of theof query the region region Rfrom as Rindividual as rendering +98, PW01]. +POS +98, PW01]. This reduces memory needs, since needs, less dependency informaThis reduces This reduces memory memory needs, since less sincedependency less dependency informainformadiscussed in discussed [Paj98a, POS further further discussed in [Paj98a, in [Paj98a, POS 98, PW01]. ditional LOD. A further multi-client capable terrain server manages main memory without specific out-of-core data access tion has to has be stored, and optimize tion tion tohas be to stored, be offers stored, and the offers andpossibility offers the possibility thetopossibility to optimize to optimize the elevation data in a quadtree database structure, support- mechanisms. the throughput by exploiting block-transfer features and the throughput the throughput by exploiting by exploiting block-transfer block-transfer features features and and ing LOD-based rectangular range queries as well as LODClustered triangulation approaches their compression at the level individual mesh portions. Asobtain a As a As compression compression at theof atlevel the level of individual of individual mesh mesh portions. portions. a

interval range queries for incremental tile updates. Given a rectangular query range R an adaptive triangulation for any specified LOD-interval can be retrieved as indicated in Figure 34. In that process, the boundary ∂ R of the query region R is resolved such that a conforming triangulation of the query region R is generated. Instead of using grid tiles to partition the elevation data, [4] combines spatial grouping with a LOD priority to cluster elevation data on disk. Starting with a simple group of vertices of the restricted quadtree triangulation hierarchy, a cluster is formed by recursively adding same, or similar LOD child nodes until: the size limit for a single cluster is

efficiency by moving the granularity of all LOD operations 15 15 15 from individual vertices or triangles to small mesh portions. This reduces memory needs, since less dependency information has to be stored, and offers the possibility to optimize the throughput by exploiting block-transfer features and compression at the level of individual mesh portions. As a representative example, the BDAM and P-BDAM [7, 8] systems encode the hierarchy of right triangles that guide their multiresolution partitioning as a triangle bin-tree, and store the geometry associated to each bin-tree region in a out-of-core patch repository which is accessed on a patch by patch basis. This repository

18

is constructed in a preprocessing step by a distributed algorithm that builds the patches bottom-up using edge collapse simplification with appropriate boundary constraints. Patches are stored in the repository in a packed stripified form ready for rendering. Similarly to [36], the data layout is optimized to improve memory coherency by sorting patches by level and spatial position. Spatial sorting is realized using an indexing function based on a space-filling curve. A separate index, kept in-core, establishes the relation between triangle bin-tree regions and stored mesh patches. At run time, the most recently used patches are cached on the GPU using a LRU strategy, while the new patches are retrieved by accessing the repository through memory-mapping primitives. When dealing with textured terrains, a tiled texture quadtree, stored in compressed DXT format is overlaid on the geometry. The 4-8 texture hierarchy system [28] improves over the previous approach by integrating geometry and texture in the same framework. In this case, the diamond region is used in the data structure rather than the bin-tree triangles. Both geometry and textures are treated as small regular grids, called tiles, defined for each diamond in the hierarchy and paged-in from disk on demand. Loading a new diamond corresponds to loading two patches sharing the main diagonal. For efficient input and output, files and disk blocks are laid out using a diamond indexing scheme based on the Sierpinski spacefilling curve. In [23], the client and data access components are separated to support thin clients and network servers.

Renato Pajarola, Enrico Gobbetti

grain refinement operations are associated to regions in a bin-tree hierarchy. Each region, called diamond, is formed by two triangular patches that share their longest edge. In BDAM, each patch is a general precomputed triangulated surface region. In the C-BDAM approach, however, all patches share the same regular triangulation connectivity and incrementally encode their vertex attributes when descending in the multiresolution hierarchy. The encoding follows a two-stage wavelet based near-lossless scheme in which lossy wavelet prediction are corrected to keep approximated values within user imposed bounds. The approach supports both mean-square error and maximum error metrics allowing to introduce a strict bound on the maximum error introduced in the visualization process. The scheme requires storage of two small square matrices of residuals per diamond, which are maintained in a repository. At run-time, a compact in-core multiresolution structure is traversed, and incrementally refined or coarsened on a diamond-by-diamond basis until screen space error criteria are met. The data required for refining is either retrieved from the repository or procedurally generated to support runtime detail synthesis. At each frame, updates are communicated to the GPU with a batched communication model. The main take home message of the C-BDAM work is that it is not necessary to use non-adaptive techniques, such as geometry clipmaps, to incorporate aggressive compression in a high performance view-dependent terrain renderer. This comes, however, at the cost of increased implementation complexity.

7.3 Compression 7.4 Numerical Accuracy Various authors have concentrated on combining data compression methods with multiresolution schemes to reduce data transfer bandwidths and memory footprints. Tiled block techniques typically use standard 2D compressors to independently compress each tile. In [28], the authors point out that, when using a 4-8 hierarchy, the rectangular tiles associated to each diamond could be also compressed using standard 2D image compression methods. Geometry clipmaps [37] organize the terrain height data in a pyramidal multiresolution scheme and the residual between levels are compressed using an advanced image coder that supports fast access to image regions [40]. Storing in a compressed form just the heights and reconstructing at runtime both normal and color data (using a simple height color mapping) provides a very compact representation that can be maintained in main memory even for large datasets. The method is possibly the current state-of-the-art in terms of compression rates. The Compressed Batched Dynamic Adaptive Meshes (C-BDAM) technique [23], an extension of the BDAM and P-BDAM chunked level-of-detail hierarchy, strives to combine the generality and adaptivity of chunked bin-tree multiresolution structures with the compression rates of nested regular grid techniques. Similarly to BDAM, coarse

Numerical accuracy issues are one of the most neglected aspects in the management of huge data sets. Sending positions to the graphics hardware pipeline needs particular care, given that the highest precision data-type is the IEEE floating point, whose 23 bit mantissa leads to noticeable vertex coalescing problem for metric data sets on the Earth and to camera jitter problems in the general case [50]. In P-BDAM [8], BDAM’s structural properties that guarantee overall geometric continuity are exploited for planetary sized rendering applications. Programmable graphics hardware is in particular exploited to cope with the accuracy issues introduced by single precision floating point numbers, resulting in the first fully hardware accelerated system able to provide submetric positioning accuracy on the Earth. The method uses as basic primitive a general triangulation of points on a displaced triangle (see Figure 35). Each corner vertex contains a pair of parametric coordinates Ti , that correspond to the position of the vertex in (u, v) coordinates, as well as a planetocentric position Pi and a normal vector Ni , that are computed from Ti during the patch construction preprocess as a function of the particular projection used. The vertices of the internal triangulation are stored by specifying a barycentric coordinate and an offset

Survey on semi-regular multiresolution models for interactive terrain rendering

along the interpolated normal direction, and all the information required at rendering time is linearly interpolated from the base corner vertex data. As for BDAM, the interior of the patch is an arbitrary triangulation of the vertices, that is represented by a cache-coherent generalized triangle strip stored as a single ordered list of vertex indices. The only aspect that requires particular care is the computation of planetocentric positions, since all other information is local to the patch. P-BDAM therefore stores Pi in double precision. At each frame, all patches are rendered in camera coordinates, simply subtracting the camera position from Pi on the host before converting them to single precision for transfer to the GPU. This way a single reference frame is used for each frame, and positional accuracy decreases with the distance from the camera, which is exactly what is needed. In contrast to common linear transformation approaches [33, 50], neighboring patches remain unconditionally connected because displaced vertex values only depend on the common base corner vertices (along the edges, the weight for the opposite vertex is null). The conversion cost (9 subtractions and 9 floating point conversion) is negligible, since it is amortized over all the internal triangles. Moreover, the transformation from barycentric to Cartesian/texture coordinates can be efficiently computed from corner data on the GPU. This has the important advantage that, since the vertices of the internal triangulation are invariant in barycentric coordinates, they can be cached in a static vertex array directly in graphics memory. Moreover, the rendering routine can fully benefit from the post-transform-and-lighting cache of current graphics architectures, which is fully exploited when drawing from the indexed representation.

Fig. 35 P-BDAM patches are represented as arbitrary triangulations of points over a displaced triangle.

8 Conclusions The investigation of multiresolution methods to dynamically adapt rendered model complexity has been, and still is, a very active computer graphics research area, which is obviously impossible to fully cover in a short survey. In this article, we analyzed the most common semi-regular multiresolution approaches for grid-digital terrain models. Despite the slightly increased size of the produced LOD triangle meshes compared to fully irregular approaches, the semi-regular multiresolution methods described in this paper are among the best choices for real-time visualization of very large scale height-field data sets. The various reviewed

19

approaches provide different alternatives in data structures, triangulation algorithms, error metrics, dynamic scene management and rendering methods that can be exploited for an optimized implementation. Models based on tiled blocks and nested regular grids are generally simple to implement and maintain, and offer optimized interfaces to the graphics hardware at the cost of limited adaptivitity and/or approximation quality and/or domain generality. Quadtree and triangle bin-trees triangulations offer a sound mathematical basis upon which efficient dynamic structures providing fully adaptive conforming triangulations can be programmed. Cluster based approaches, that build upon this basis, have recently shown how these methods can efficiently harness the performance of current commodity graphics platforms, at the cost of a slight reduction in adaptivity. Even though the domain is mature and has a long history, open problems remain. In particular, while networked and out-of-core rendering systems have been demonstrated for most of the structures discussed in this survey, limited solutions have been proposed for fully out-of-core data construction. Moreover efficient techniques for incrementally updating an already constructed multiresolution hierarchy are still to be devised.

References 1. Asano, T., Ranjan, D., Roos, T., Welzl, E., Widmayer, P.: Space filling curves and their use in the design of geometric data structures. Theoretical Computer Science 181, 3–15 (1997) 2. Balmelli, L., Ayer, S., Vetterli, M.: Efficient algorithms for embedded rendering of terrain models. In: Proceedings IEEE International Conference on Image Processing ICIP 98, pp. 914–918 (1998) 3. Balmelli, L., Liebling, T., Vetterli, M.: Computational analysis of 4-8 meshes with application to surface simplification using global error. In: Electronic Proceedings of the 13th Canadian Conference on Computational Geometry (CCCG) (2001) 4. Bao, X., Pajarola, R.: LOD-based clustering techniques for optimizing large-scale terrain storage and visualization. In: Proceedings SPIE Conference on Visualization and Data Analysis, pp. 225–235 (2003) 5. Bao, X., Pajarola, R., Shafae, M.: SMART: An efficient technique for massive terrain visualization from out-of-core. In: Proceedings Vision, Modeling and Visualization (VMV), pp. 413–420 (2004) 6. Baumann, K., D¨ollner, J., Hinrichs, K., Kersting, O.: A hybrid, hierarchical data structure for real-time terrain visualization. In: Computer Graphics International, pp. 85–92 (1999). URL http://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 for high performance terrain visualization. In: Proceedings EUROGRAPHICS, pp. 505–514 (2003). Also in Computer Graphics Forum 22(3) 8. Cignoni, P., Ganovelli, F., Gobbetti, E., Marton, F., Ponchio, F., Scopigno, R.: Planet-sized batched dynamic adaptive meshes (PBDAM). In: Proceedings IEEE Visualization, pp. 147–155. Computer Society Press (2003) 9. Cignoni, P., Ganovelli, F., Gobbetti, E., Marton, F., Ponchio, F., Scopigno, R.: Batched multi triangulation. In: Proceedings IEEE Visualization, pp. 207–214. Computer Society Press (2005). URL http://www.crs4.it/vic/cgi-bin/bibpage.cgi?id=’Cignoni:2005:GFM’

20

10. Cignoni, P., Montani, C., Scopigno, R.: A comparison of mesh simplification algorithms. Computers & Graphics 22(1), 37–54 (1998) 11. De Floriani, L., Marzano, P., Puppo, E.: Multiresolution models for topographic surface description. The Visual Computer 12(7), 317–345 (1996) 12. De Floriani, L., Puppo, E., Magillo, P.: A formal approach to multiresolution modeling. In: R. Klein, W. Straßer, R. Rau (eds.) Geometric Modeling: Theory and Practice, pp. 302–323. SpringerVelrag (1997) 13. Duchaineau, M., Wolinsky, M., Sigeti, D.E., Miller, M.C., Aldrich, C., Mineev-Weinstein, M.B.: ROAMing terrain: Realtime optimally adapting meshes. In: Proceedings IEEE Visualization, pp. 81–88 (1997) 14. Evans, W., Kirkpatrick, D., Townsend, G.: Right-triangulated irregular networks. Algorithmica 30(2), 264–286 (2001) 15. Falby, J., Zyda, M., Pratt, D., Mackey, L.: NPSNET: Hierarchical data structures for realtime 3-dimensional visual simulation. Computers & Graphics 17(1), 65–69 (1993) 16. Floriani, L., L.Kobbelt, Puppo, E.: A survey on data structures for level-of-detail models. In: N.Dodgson, M.Floater, M.Sabin (eds.) Advances in Multiresolution for Geometric Modelling, Mathematics and Visualization, pp. 49–74. Springer Verlag (2004) 17. Floriani, L.D., Magillo, P., Puppo, E.: Building and traversing a surface 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 opportunities. Eurographics State of The Art Report (STAR) (1999) 19. Gerstner, T.: Multiresolution compression and visualization of global topographic data. Tech. Rep. 29, Institut f¨ur Angewandte Mathematik, Universit¨at Bonn (1999). To appear in Geoinformatica 2001 20. Gerstner, T.: Top-down view-dependent terrain triangulation using the octagon metric. Tech. rep., Institute of Applied Mathematics, University of Bonn (2003) 21. Gerstner, T., Pajarola, R.: Topology preserving and controlled topology simplifying multiresolution isosurface extraction. In: Proceedings IEEE Visualization, pp. 259–266. Computer Society Press (2000) 22. Gerstner, T., Rumpf, M., Weikard, U.: Error indicators for multilevel visualization and computing on nested grids. Computers & Graphics 24(3), 363–373 (2000) 23. Gobbetti, E., Marton, F., Cignoni, P., Benedetto, M.D., Ganovelli, F.: C-BDAM – compressed batched dynamic adaptive meshes for terrain rendering. Computer Graphics Forum 25(3) (2006). URL http://www.crs4.it/vic/cgi-bin/bibpage.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 simplification algorithms. SIGGRAPH 97 Course Notes 25 (1997) 26. Hitchner, L.E., McGreevy, M.W.: Methods for user-based reduction 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 its application to terrain rendering. In: Proceedings IEEE Visualization, pp. 35–42. Computer Society Press (1998) 28. Hwa, L.M., Duchaineau, M.A., Joy, K.I.: Real-time optimal adaptation for planetary geometry and texture: 4-8 tile hierarchies. IEEE Transactions on Visualization and Computer Graphics 11(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 information system. In: Proceedings IEEE Visualization, pp. 94–100. Computer Society Press (1995) 30. Lario, R., Pajarola, R., Tirado, F.: Hyperblock-QuadTIN: Hyperblock quadtree based triangulated irregular networks. In: Proceedings IASTED Invernational Conference on Visualization, Imaging and Image Processing (VIIP), pp. 733–738 (2003)

Renato Pajarola, Enrico Gobbetti

31. Levenberg, J.: Fast view-dependent level-of-detail rendering using cached 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 of phototextured terrain. Tech. rep., Graphics, Visualization, and Usability 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 Institute (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 of height fields. In: Proceedings ACM SIGGRAPH, pp. 109–118. ACM SIGGRAPH (1996) 35. Lindstrom, P., Pascucci, V.: Visualization of large terrains made easy. In: Proceedings IEEE Visualization, pp. 363–370. Computer Society Press (2001) 36. Lindstrom, P., Pascucci, V.: Terrain simplification simplified: A general framework for view-dependent out-of-core visualization. IEEE Transaction on Visualization and Computer Graphics 8(3), 239–254 (2002) 37. Losasso, F., Hoppe, H.: Geometry clipmaps: Tterrain rendering using nested regular grids. ACM Transactions on Graphics 23(3), 769–776 (2004). URL http://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 Kaufmann Publishers, San Francisco, California (2003) 39. Luebke, D.P.: A developer’s survey of polygonal simplification algorithms. IEEE Computer Graphics & Applications 21(3), 24–35 (2001) 40. Malvar, H.S.: Fast progressive image coding without wavelets. In: Data Compression Conference, pp. 243–252 (2000). URL http://www.computer.org/proceedings/dcc/0592/05920243abs.htm 41. Ohlberger, M., Rumpf, M.: Adaptive projection operators in multiresolution scientific visualization. IEEE Transactions on Visualization and Computer Graphics 5(1), 74–93 (1999) 42. Pajarola, R.: Large scale terrain visualization using the restricted quadtree triangulation. In: Proceedings IEEE Visualization, pp. 19–26,515 (1998) 43. Pajarola, R.: Large scale terrain visualization using the restricted quadtree triangulation. Tech. Rep. 292, Dept. of Computer Science, ETH Z¨urich (1998). Ftp://ftp.inf.ethz.ch/pub/publications/tech-reports/2xx/292.ps 44. Pajarola, R., Antonijuan, M., Lario, R.: QuadTIN: Quadtree based triangulated irregular networks. In: Proceedings IEEE Visualization, pp. 395–402. Computer Society Press (2002) 45. Pajarola, R., Ohler, T., Stucki, P., Szabo, K., Widmayer, P.: The Alps at your fingertips: Virtual reality and geoinformation systems. In: Proceedings International Conference on Data Engineering (ICDE), pp. 550–557. IEEE Computer Society (1998) 46. Pajarola, R., Widmayer, P.: Virtual geoexploration: Concepts and design choices. International Journal of Computational Geometry and Applications 11(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: Proceedings of the 8th Canadian Conference on Computational Geometry, pp. 202–210 (1996) 49. Puppo, E.: Variable resolution triangulations. Computational Geometry 11(3-4), 219–238 (1998) 50. Reddy, M., Leclerc, Y., Iverson, L., Bletter, N.: TerraVision II: Visualizing massive terrain databases in VRML. IEEE Computer Graphics & Applications 19(2), 30–38 (1999) 51. Rivara, M.C.: A discussion on the triangulation refinement problem. In: Proceedings of the 5th Canadian Conference on Computational Geometry, pp. 42–47 (1993) 52. Rivara, M.C.: A discussion on mixed (longest-side midpoint insertion) delaunay techniques for the triangulation refinement problem. In: Proceedings of the 4th International Meshing Roundtable, pp. 335–346 (1995)

Survey on semi-regular multiresolution models for interactive terrain rendering

53. Samet, H.: Applications of Spatial Data Structures: computer graphics, 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 terrain rendering. Journal of WSCG 14(1-3), 49–56 (2006) 56. Schrack, G.: Finding neighbors of equal size in linear quadtrees and octrees in constant time. Computer Vision, Graphics, and Image Processing: Image Understanding 55(2), 221–230 (1992) 57. Sivan, R.: Surface modeling using quadtrees. Tech. Rep. CSTR-3609, University of Maryland, College Park, Computer Vision Laboratory, Center for Automation Research (1996) 58. Sivan, R., Samet, H.: Algorithms for constructing quadtree surface maps. In: Proceedings 5th International Symposium on Spatial Data Handling, pp. 361–370 (1992) 59. Ulrich, T.: Rendering massive terrains using chunked level of detail. In: Super-size-it! Scaling up to Massive Virtual Worlds (ACM SIGGRAPH Tutorial Notes). ACM SIGGRAPH (2000) 60. Velho, L.: Using semi-regular 4-8 meshes for subdivision surfaces. Journal of Graphics Tools 5(3), 35–47 (2001) 61. Velho, L., Gomes, J.: Variable resolution 4-k meshes: Concepts and applications. Computer Graphics Forum 19(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 terrain data. In: Journal of WSCG, vol. 12 (2004). URL http://visinfo.zib.de/EVlib/Show?EVL-2004-36 64. Wloka, M.: Optimizing the graphics pipeline. In: Programming Graphics Hardware (Eurographics 2004 Tutorial No 4). Eurographics Association (2004)

Renato B. Pajarola received a Dr. sc. techn. in Computer Science in 1998 from the Swiss Federal Institute of Technology (ETH) Zurich. After a postdoc at Georgia Tech he joined the University of California Irvine in 1999 as an Assistant Professor. Since 2005 he has been an Associate Professor in Computer Science at the University of Zurich, leading the Visualization and MultiMedia Lab. His research interests include real-time 3D graphics, scientific visualization and interactive 3D multimedia. He is a frequent committee member and reviewer for top conferences and journals.

21

Enrico Gobbetti is the founder and director of the Visual Computing (ViC) group at the Center for Advanced Studies, Research, and Development in Sardinia (CRS4). Prior to joining CRS4, he was with the Swiss Federal Institute of Technology in Lausanne, the University of Maryland Baltimore County and the Center of Excellence in Space Data and Information Sciences (NASA/CESDIS). His research interests span many areas of computer graphics. He served as program committee member and reviewer for international conferences and journals. He holds an Engineering degree (1989) and a Ph.D. degree (1993) in Computer Science from the Swiss Federal Institute of Technology in Lausanne (EPFL).

Suggest Documents