3.1 The Construction of a Quadtree
Structure That Contains Adjacency
Information and the Dynamic
Updating of This Structure
Differences in the rendering precision of adjacent
terrain nodes are the root cause of terrain cracks (Fu
et al, 2012.WIESEMANN et al, 2005). Therefore, the
key to eliminating terrain cracks is the accurate
recognition and determination of terrain node
adjacencies when real-time LoD terrain rendering is
implemented based on quadtree features. The
following definitions have been provided to facilitate
the description of the algorithm.
(1) Terrain nodes, such as A1 and A2 in Fig. 3, are
simply referred to as tiles. A unified code is used to
describe the LoD, row and column of each tile, i.e.,
Tilecode = (LoD, TileX, TileY). Each tile contains
M×M vertices, with M being a positive integer that
represents the number of grid points on a given edge.
(2) In a terrain quadtree, "parentless" nodes, such
as C1 in Fig. 3, are referred to as root nodes, and
"childless" nodes, such as C2, C6 and C7 in Fig. 3,
are referred to as leaf nodes.
(3) The tiles that surround each tile are
categorized either as edge neighbors or corner
neighbors based on their spatial relationships. Edge
neighbors can be classified as left edge neighbors
(LN), upper edge neighbors (UN), right edge
neighbors (RN), and bottom edge neighbors (DN).
Corner neighbors may be classified as left upper
corner neighbors (LUN), right upper corner neighbors
(RUN), right lower corner neighbors (RDN), and
lower bottom edge neighbors (LDN). An example of
these spatial relationships is illustrated in Fig. 4.
(4) In a quadtree structure, "child" nodes on the
upper left, upper right, bottom right and bottom left
corners of a "parent" node are referred to as LUChild,
RUChild, RDChild and LDChild, respectively.
Figure 3: Terrain quadtree structure.
Figure 4: Definitions of adjacency relationships.
3.2 The Construction and Dynamic
Updating of Quadtree Structures
During the rendering of a 3D terrain scene, terrain
quadtrees will be constructed and dynamically
updated according to the rules of view-dependent
LoD control (Feng et al, 2010. Lindstrom et al, 2001).
A change in view will therefore affect the merging
and splitting of leaf nodes in a quadtree. For instance,
Fig. 5(a) describes a terrain quadtree that corresponds
to the view being close to the upper-left part of the
terrain, and Fig. 5(b) illustrates the changes in the
quadtree when the view shifts from the upper-left part
of the terrain to the bottom-left part. When the
quadtree changes from Fig. 5(a) to Fig. 5(b), the
LDChild1 tile in Fig. 5(b) will split into four
"children" tiles, and the LUChild2, RUChild2,
RDChild2 and LDChild2 tiles in Fig. 5(a) will be
merged. This process corresponds to the rendering of
the "parent" tile (LUChild1).
The dynamic updating of adjacency information
associated with the generation of "children" tiles or
the merging of "parent" tiles (when the "parent" tile
is being rendered) is a crucial step in crack removal.
This adjacency processing algorithm can be divided
into two modules according to the intrinsic
characteristics of each leaf node: an algorithm that
processes the adjacency information of split leaf
nodes, and an algorithm that processes the adjacency
information of merged leaf nodes.
Since terrain cracks only occur at inter-tile
boundaries, the ultimate purpose of crack removal is
to ensure that the four edges and corners of a tile are
consistent with those of adjacent tiles. The
assessment of adjacency information is based on the
spatial and positional relationships of the tiles. To
facilitate the computations of the crack removal
algorithm, we define a marker called "Dirty" for the
adjacency information of each edge and corner of
every tile. Dirty has two possible states: active or
GISTAM 2019 - 5th International Conference on Geographical Information Systems Theory, Applications and Management
62