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 highfrequency 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
 Terrain Synthesis from
Digital Elevation Models
 Howard Zhou, Jie Sun, Greg Turk, and Jim Rehg, IEEE Viz. 2007
 Describes a unique and powerful approach: instead of parametrically
synthesizing, a heightfield is generated by assembling chunks of a realworld
input.
 'The synthesis is guided by a usersketched feature map that specifies
where terrain features occur in the resulting synthetic terrain. The
system finds patches from the example data that match the features found
in the user's sketch.'
 Examples showing the same input sketch matched to four different realworld
example DEMs:


RealTime
Editing, Synthesis, and Rendering of Infinite Landscapes on GPUs
 Jens Schneider, Tobias Boldte, Rüdiger Westermann, 2006
 uses "the concept of projected grids to achieve nearoptimal sampling
of the landscape"
 claims to run at over 60 fps while synthesizing fractal terrain of infinite
detail

 Heightfield Synthesis by NonParametric Sampling
 Infinite Fun
Space (2002)
 major Book:
Texturing & Modeling, David Ebert, F. Kenton Musgrave
 J. P. Lewis, Generalized
stochastic subdivision (pdf). ACM Transactions on Graphics, July
1987
 A. Fournier, D. Fussel, and L. Carpenter. Computer rendering of stochastic
models, Communications of the ACM, 1982
Physicallybased 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
 MacRock/PCRock
is a old small free utility which has parameters for complexity and smoothness,
outputs DXF
 Mark Stock's Rocktools is
a commandline 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 GPUrendering of procedural
rocks
Synthetic Terrain  Articles
Synthetic Terrain  Applications
 for many applications that deal with synthetic terrain, see see
Artificial Terrain Tools & Software
Packages
 Procedural Planet's
tech notes
 articles on generating massive fractal texture/heightfield and using
SIMD

there
is a corresponding Win32 demo program (no source)
 John Beale
 author of heightfield generators
Gforge and HFlab
 Gforge is a commandline utility to generate a heightfield using an
FFT algorithm
 also has utilities to simulate erosion
 Unix sources, and MSDOS executables only
 offline generation only, he uses POVRay for rendering
 terraineer is a small opensource
utility which can be used to generate and to learn to generate heightmaps, including
a handle of random algorithms
 many MMOG (massively multiplayer online games) face the problem of generating
content (fantasy worlds), and many of them attempt to solve this problem with
procedural terrain generation

one
example is Infinity.
"Procedural universe: procedural programming is a technique
to let the computer generate the game universe onthefly, in realtime
on request, rather than manually building everything. Because of this, the
generated universe can be absolutely huge. In Infinity, billions of worlds,
most of them never explored by any player, are awaiting the adventurous
soul."