i
i
i
i
i
i
i
i
12.5. Simplification 569
a useful representation when the terrain area is small and relatively flat in
various areas [1302].
For other outdoor scenes, continuous level of detail techniques can be
used to minimize the number of vertices that must be processed. The idea
is that terrain that is in view and close to the viewer should be shown with
a greater level of detail. One type of algorithm is to use edge collapses and
geomorphing, as described in the previous section, but with a cost function
based on the view [561, 563]. The entire terrain is not represented as a
single mesh, but rather as smaller tiles. This allows techniques such as
frustum culling and potential visible sets to be used to quickly remove tiles
from further consideration.
Another class of algorithms is based on using the underlying structure
of the heightfield grid itself. The method by Lindstrom et al. [779], and
the ROAM scheme by Duchaineau et al. [278, 1278] are two pioneering
papers in this area. While these schemes are relatively inefficient on mod-
ern GPUs, many of the concepts presented are relevant to most terrain
rendering systems.
The idea is to impose a hierarchical structure on the data, then evaluate
this hierarchy and render only the level of complexity needed to sufficiently
represent the terrain. A commonly used hierarchical structure introduced
in ROAM is the triangle binary tree (bintree). Starting with a large right
triangle, with vertices at the corners of the heightfield tile, this triangle
can be subdivided by connecting its centerpoint along the diagonal to the
opposite corner. This splitting process can be done on down to the limit
of the heightfield data. See Figure 12.28. In the ROAM algorithm, an
error bound is created for each triangle. This error bound represents the
maximum amount that the associated terrain heightfield varies from the
plane formed by the triangle. In other words, three points on the heightfield
define a triangle, and all the heightfield samples covered by this triangle are
compared to the triangle’s plane and the absolute value of the maximum
difference is the error bound. The vertical error bound and the triangle
Figure 12.28. The triangle bintree. On the left, the heightfield is represented by two
triangles at the topmost level. At each successive level, every triangle is split into two,
with splits shown by the thick lines.