Table of Contents

Erosion algorithms

Erosion, in its many guises, is perhaps the major shaping force of terrain in the real-world (refer to Exhibit A, below). Unfortunately, erosion processes are highly iterative and therefore computationally slow. Approximations are required!

Exhibit A: Normals map of Baia Mare, Romania (from 8.5m DEM).

Fluvial erosion

L3DT approximates fluvial erosion (that which is caused by the flow of water) using a 'downhill run' algorithm, in which the surface water is discretised into 'drops'. These drops are sprayed onto the heightfield and allowed to run downhill in the steepest direction. A small amount of height subtracted from every heightfield pixel over which a water drop passes. When a drop reaches a local minimum in height and can no longer run downhill, a small amount of hight is added to the heightfield pixel under the water drop, and the drop is deleted.

Both large and small scale erosion is achieved quickly and efficiently in L3DT by inserting several erosion passes into different stages of the design/inflate algorithm. This has the effect of eroding large features (eg. mountains) when the heightfield is low-resolution, and small features (eg. fine erosion channels) when the heightfield is high-resolution (see Exhibit B, below).

Exhibit B: Normals map of an L3DT heightfield.

The end effect is quite acceptable:

An eroded heightfield.

Thermal erosion

Sorry, this section is missing.