Artificial Terrain Generation

Problem: when you get very close to a terrain heightfield, it looks unrealistically flat

Synthetic Heightfield Detail

one solution: generate a seeded random perturbation, to give the height map some high-frequency detail

many games have used this approach, such as Joint Strike Fighter (Eidos, 1997)

summary by Bill Graham: The first method is to assign real or imaginary (random) height data to a convenient lattice. Then, an iteration process takes place (using fractal Brownian noise -- fBM) to define the heightfields between the primary lattice. The iterative process is known generally as the midpoint displacement method. The roughness of the terrain is controlled by the fractal dimension (or Hurst exponent) assigned to the iterative process. Once the data points are created via iteration, one can create polygons and render a landscape. The second method is to use fBM noise to generate a matrix of phase and amplitude data (complex numbers) in the frequency domain associated with Fourier methodology, then perform an inverse Fast Fourier Transform (FFT) to create a heightfield in the time (or space) domain of the Euclidean world. The transformed matrix is rendered after conversion to an array of polygons. This method is sometimes called Spectral Synthesis. Spectral Synthesis provides a much more realistic landscape but is MUCH more computationally intensive. Furthermore, the method (at least to the limit of my understanding at this point) cannot iterate between points. The whole batch is done at once. A third set of methods are proposed in the Perlin/Musgrave book. Here, the noise is generated by the Perlin noise function which basically uses a spline function. On the surface, this approach looks very promising for sparse bathymetric data, but these guys make it clear they are not interested in the real world of empirical height (bathymetric) data and offer no examples that incorporate real data.

Terrain Tutorial - Particle Deposition

Papers and Books

Physically-based Detail Generation

it can help realism immensely to augment the height field with polygonal 3D rocks, embedded in the ground

ideally a randomized procedural generator would produce the rocks

ideally a randomized procedural generator would produce the rocks MacRock/PCRock is a old small free utility which has parameters for complexity and smoothness, outputs DXF

Mark Stock's Rocktools is a command-line tool that can create and modify random rocks, outputs OBJ

rock generation is a feature of commercial landscape programs (AWB, WCS, etc.) and a few modeler plugins

from Stephen Ervin's Digital Landscape Modeling and Visualization: "One problem in the landform category is the simple task of modeling a rock - whether a boulder, rock outcropping, or basic constituent of a dry laid stone wall. These humble objects have geometries and surface detail not easily represented in any 3D modeling system, and simplified versions of them always seem just that -- oversimplified. Photographic texture mapping , combined with bump -mapping on suitably formed 3D solids has been used for some rock models, to good visual effect."

Dachsbacher's giant paper Interactive Terrain Rendering: Towards Realism with Procedural Models and Graphics Hardware (2006) has sections on generating and GPU-rendering of procedural rocks

Synthetic Terrain - Articles

Synthetic Terrain - Applications