|
Terrain Renderer
The picture above illustrates the basic principal of the interactive terrain renderer.
As described in Duchaineau et al [Duch97], we start
from a base triangulation of only two triangles, and a view-dependent metric is applied
recursively to each triangle to decide whether it needs to be split into finer triangles.
The metric used in the current version is the screen space pixel error of each polygon
as described in [Duch97].
Note some of the features of the resultant mesh:
- Flat areas automatically require fewer polygons because they have less screen space error.
- Fewer polygons are required in the distance because they have less screen-space error.
- There are no seams or holes in the mesh, nor are there any T-junctions.
- The subdivision can stop at any time and be optimal (based on our error metric) for the
given polygon count. Thus subdivision can be stopped based on (1) time spent on the current frame,
(2) a maximum screen space error in pixels, or (3) a maximum allowable polygon count. All of
these metrics may be supplied to the terrain node.
Note also that because the terrain renderer is implemented as a node in a Celsius scene-graph, it can
be transformed and combined with other elements just as any polygonal object.
|