commonly used: First, techniques that are based on
general, mainly unconstrained, triangulations (TIN),
and second, semi-regular representations. Exam-
ples of the first category are described in (Puppo,
1998; Cignoni et al., 1997; Hoppe, 1998) and,
e.g., the GPU-based approach of (Hu et al., 2009).
These algorithms generate a high-quality terrain mesh
with an adequate number of triangles (Evans et al.,
2001). However, these algorithms require complex
data structures and a complex preprocessing.
Algorithms of the second category simplify the
preprocess on the cost of a higher number of triangles
to be rendered. Most of these algorithms are based
on the simple, but powerful subdivision scheme of
longest–edge–bisection (Duchaineau et al., 1997; Pa-
jarola, 1998; Lindstrom et al., 1996; R
¨
ottger et al.,
1998; Evans et al., 2001). This scheme recursively
splits an isosceles right triangle (vl,va,vr) at the mid-
point vm of its hypotenuse (vl,vr) into two triangles
(vl, vm,va) and (va,vm, vr). As described in (Lind-
strom and Pascucci, 2002), such a mesh can be rep-
resented as a direct acyclic graph (DAG), the ver-
tex graph. The mesh vertexes define the node set,
whereas the edge set is defined by all directed edges
(va,vm) that correspond to a triangle split. The graph
is described by a recursive indexing scheme. Dur-
ing the preprocess, each vertex is associated with the
refinement criteria including the bounding sphere er-
ror radius and the radii of its child nodes (also re-
ferred to as nested error saturation to guarantee crack-
freeness).
In general, two types of rendering algorithms are
applied: First, those working at the triangle/vertex
primitive level and those at clusters of primitives
(patches). Approaches of the first category need fewer
triangles but lead to the CPU-GPU bottleneck. To
overcome this bottleneck, approaches of the second
category use patches optimized for GPU throughput
requiring just a few CPU instructions (Cignoni et al.,
2005). Hence, more geometry has to be rendered. For
instance, (Levenberg, 2002) dynamically extracts tri-
angle clusters during view-dependent rendering and
caches the geometry on the GPU. Following this ap-
proach, various GPU-oriented multi-resolution struc-
tures have been proposed, for instance (Pomeranz,
2000; Cignoni et al., 2003; Hwa et al., 2004; B
¨
osch
et al., 2009). Especially (Cignoni et al., 2003) com-
bines the advantages of semi-regular structures and
TIN for high performance terrain rendering. For an
excellent overview, we refer to (Pajarola and Gob-
betti, 2007).
Triangle-based and patch-based approaches as
well require an adequate a priori error estimation.
Therefore, we introduce our error estimation scheme
in Section 3 before discussing our new hybrid terrain
rendering method in Section 4.
3 A-PRIORI ERROR
ESTIMATION
Using common recursive a-priori error estimation
schemes for parent-child relationship determination
requires the bottom-up traversal of the vertex graph
hierarchy node-by-node. In order to accelerate this
process, we take advantage of recent multi-core CPU
architectures. However, the challenge is to determine
the parent-child relationships in parallel. Our novel
solution is to harness these relationships from dia-
mond entities. Diamonds can be characterized con-
sisting of triangles of the same level, which share their
adjacent hypotenuse (see, i.e., (Hwa et al., 2004)). A
diamond is associated with a center vertex (the dia-
mond vertex), the diagonal edge, and one quadrilateral
face. The parents and children of a diamond can be
described using a special indexing scheme (see Sec-
tion 3.1), which we adapt to the vertex graph structure
since each vertex in the vertex graph represents a di-
amond. Parent-child relationships of two consecutive
levels can now be extracted, if those of the coarser
level are known (see Section 3.2). The novelty is that
we are enabled to consider all vertexes of one level
independently of each other. Thus, we determine the
refinement criteria by sequentially treating the levels
bottom-up combined with their inner-level determina-
tion in a parallel way.
3.1 Basic Indexing Scheme
Following the indexing scheme of (Hwa et al., 2004),
the face of a diamond d is described by the diamond
ancestors a
0
,. ..,a
4
(see Figure 1). The hypotenuse
Figure 1: A diamond d (yellow) is shown with its ancestors
(left) and its children (right)(Hwa et al., 2004). The green
ancestor is a
0
, the two parents are a
1
and a
3
(blue outline).
ds children are c
0...3
(red). Note that the orientation is ro-
tated by 45
◦
each level.
of the two adjacent triangles, is characterized by the
ancestors a
0
and a
2
and split by d. Using the locations
GRAPP 2010 - International Conference on Computer Graphics Theory and Applications
234