0% found this document useful (0 votes)
2 views

paris2019

Uploaded by

dunzandunz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

paris2019

Uploaded by

dunzandunz
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Terrain Amplification with Implicit 3D Features

AXEL PARIS, ERIC GALIN, ADRIEN PEYTAVIE, and ERIC GUÉRIN, Université de Lyon,
LIRIS, CNRS, UMR5205, France
JAMES GAIN, University of Cape Town, South Africa

Fig. 1. From a 2D input height field, our method automatically generates an implicit model for representing the terrain, which is augmented with complex
3D landform features such as caves, overhangs, cliffs, arches, or karsts. Our model can also represent dramatic and scenic science fiction landscapes such
as floating islands, or giant rock spires.

While three-dimensional landforms, such as arches and overhangs, occupy ACM Reference format:
a relatively small proportion of most computer-generated landscapes, they Axel Paris, Eric Galin, Adrien Peytavie, Eric Guérin, and James Gain. 2019.
are distinctive and dramatic and have an outsize visual impact. Unfortu- Terrain Amplification with Implicit 3D Features. ACM Trans. Graph. 38, 5,
nately, the dominant heightfield representation of terrain precludes such Article 147 (September 2019), 15 pages.
features, and existing in-memory volumetric structures are too memory https://doi.org/10.1145/3342765
intensive to handle larger scenes.
In this article, we present a novel memory-optimized paradigm for rep-
resenting and generating volumetric terrain based on implicit surfaces. We
1 INTRODUCTION
encode feature shapes and terrain geology using construction trees that ar-
range and combine implicit primitives. The landform primitives themselves Truly three-dimensional landscape features are some of the most
are positioned using Poisson sampling, built using open shape grammars visually arresting and memorable elements of real terrains. They
guided by stratified erosion and invasion percolation processes, and, fi- are formed by different physical processes (including joint frac-
nally, queried during polygonization. Users can also interactively author turing, percolation, and stratified erosion), take a variety of forms
landforms using high-level modeling tools to create or edit the under- (from steep-walled canyons to underground cave complexes), and
lying construction trees, with support for iterative cycles of editing and exhibit different scales (from mineral deposits, such as stalac-
simulation.
tites, less than a meter in diameter, to sea cliffs stretching for
We demonstrate that our framework is capable of importing existing
large-scale heightfield terrains and amplifying them with such diverse
kilometers).
structures as slot canyons, sea arches, stratified cliffs, fields of hoodoos, The sheer variety of shapes and scales of these landforms
and complex karst cave networks. presents significant modeling challenges and, despite the wide ap-
plication of digital terrain in games, film, and simulation, and ex-
CCS Concepts: • Computing methodologies → Shape modeling; tensive research in this area, effectively representing and generat-
Additional Key Words and Phrases: Procedural modeling, landscapes, ing 3D landforms remains an unsolved problem. This is because
implicit surfaces most solutions address only 2 12 D heightfield terrains, and those
that are truly 3D either focus on specific structural forms or are
This work is part of the project PAPAYA funded by the Fonds National pour la Société limited in the achievable resolution due to memory considerations.
Numérique and the project HDW ANR-16-CE33-0001, supported by Agence Nationale
de la Recherche. This work also received a grant from Bourg en Bresse city and CCI
There is thus a need for compact, memory-efficient models for
de l’Ain. representing large terrains featuring sparse and local volumetric
Authors’ addresses: A. Paris, E. Galin, A. Peytavie, and E. Guerin, Université de landforms.
Lyon, 23 Avenue Pierre de Coubertin, 69100 Villeurbanne, France; emails: {axel.paris,
eric.galin, adrien.peytavie, eric.guerin}@liris.cnrs.fr; J. Gain, University of Cape Existing methods fall into three categories: procedural genera-
Town, South Africa; email: [email protected]. tion, which applies phenomenologically inspired algorithms; ero-
Permission to make digital or hard copies of all or part of this work for personal or sion simulation, where erosion patterns are carved into a base ter-
classroom use is granted without fee provided that copies are not made or distributed
for profit or commercial advantage and that copies bear this notice and the full cita- rain; and example-based synthesis, in which samples from scans
tion on the first page. Copyrights for components of this work owned by others than of real terrains are extracted and combined. These generally rely
ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or re-
publish, to post on servers or to redistribute to lists, requires prior specific permission
on heightfields, which locate scalar elevation values on a regular
and/or a fee. Request permissions from [email protected]. grid at a single sampling resolution. As a consequence, steep areas,
© 2019 Association for Computing Machinery. such as cliffs, are generally undersampled, and overhanging fea-
0730-0301/2019/09-ART147 $15.00
https://doi.org/10.1145/3342765 tures, simply cannot be represented. The alternative—an explicit

ACM Transactions on Graphics, Vol. 38, No. 5, Article 147. Publication date: September 2019.

147
147:2 • A. Paris et al.

volumetric representation—is also problematic as such structures Our approach is the first capable of generating sparse volumet-
are memory intensive and, consequently, previous 3D terrain ap- ric landforms over terrains that exhibit both fine detail and large
proaches either focus on smaller isolated landforms (Beardall et al. extent, as demonstrated in Figure 1. This work primarily benefits
2007; Ito et al. 2003; Jones et al. 2010) or represent larger landscapes the entertainment industry, and could be implemented in middle-
at a lower sampling resolution (Becher et al. 2017, 2018; Peytavie ware applications for handling scenic terrains with 3D landforms.
et al. 2009).
Instead, we provide a conceptually simple solution to the prob-
lem of representing and authoring 3D terrain across a range of 2 RELATED WORK
scales, achieved through a unified implicit surface model. This The field of synthetic terrain modeling, as surveyed by Natali et al.
allows 2 12 D elevation models to be augmented with compact, (2013) and more recently by Galin et al. (2019), can be separated
memory-efficient sculpting primitives that encode volumetric into three classes of techniques: procedural generation, erosion
landforms. Our approach can be integrated with existing model- simulation, and example-based synthesis. The overwhelming fo-
ing pipelines, captures a wide variety of landforms from under- cus across these categories is on the creation of 2 12 D height fields,
ground cave complexes to coastal cliffs, incorporates geomorpho- with elevation specified for points on a regular grid.
logical effects, such as stratified erosion and invasion percolation, Procedural generation exploits two characteristics of real ter-
and provides extensive user control (Figure 1). rains: the self-similarity of landforms across a range of scales and
Our implicit model allows the automatic enhancement of ter- translations (Ebert et al. 1998) and the strong shaping influence
rains with complex 3D landforms and generates visually appeal- of river networks and hydrological erosion. Generally, the first
ing, although sparse, geological shapes, which are nonetheless aspect is captured algorithmically through multi-frequency noise
essential for synthesizing dramatic and scenic landscapes. Fur- functions and the second through constrained procedural subdivi-
thermore, detail can be enhanced even where overhangs are not sion (Belhadj and Audibert 2005; Kelley et al. 1988; Prusinkiewicz
strictly present, such as on steep slopes and vertical sections. This and Hammel 1993), diffusion (Hnaidi et al. 2010; Tasse et al. 2014),
is warranted because these often represent visually prominent or warping and blending (Gain et al. 2009; Génevaux et al. 2013,
landmarks. 2015; Rusnell et al. 2009), which can even extend to entire planets
At the heart of our method are various construction trees for (Derzapf et al. 2011).
blending implicit primitives that individually represent the input Although these core algorithms can efficiently generate near-
terrain, landform shape modifiers, and geological structure, and infinite landscapes with unlimited precision, they only provide in-
collectively provide a full 3D volumetric terrain. In this we are direct global control and produce terrains without any underly-
inspired by and extend the notion of Implicit BlobTrees (Wyvill ing geomorphological structure. The paucity of user control can
et al. 1999) and Feature Primitives (Génevaux et al. 2015). Query- be corrected by allowing users to interactively specify constraints
ing this new implicit terrain representation during surface extrac- through sketching or painting (Gain et al. 2009; Hnaidi et al. 2010;
tion allows us to bypass an explicit and memory-intensive volu- Tasse et al. 2012, 2014), but the problem of geomorphological real-
metric representation. Our pipeline imports a 2 12 D input terrain ism remains.
and converts it into a coherent implicit surface, identifies 3D fea- Erosion simulation (Musgrave et al. 1989) approximates the
ture sites, and as specified by the user applies different generation geological evolution of terrain through iterations of hydraulic ero-
algorithms, such as grammar-like production rules or erosion pro- sion (Chiba et al. 1998; Nagashima 1998), subsurface tectonics
cesses, to sculpt and augment the terrain with overhanging land- (Cordonnier et al. 2018), or an amalgam of secondary erosion ef-
forms. Finally, the sparse implicit representation is efficiently poly- fects (Cordonnier et al. 2017) applied to a base terrain. Clearly, sub-
gonized using a novel locally adaptative approach that generates surface strata play an important role in such simulations. Often
a final mesh amplified with 3D terrain features. this is encoded as a cell-based grid of layered stacks, with differ-
More precisely, the main technical contributions of our work ent thicknesses and material properties for the layers of each cell-
include the following: (1) a procedural model for representing the specific stack (Cordonnier et al. 2017, 2018; Roudier et al. 1993).
underlying geology of a terrain (Section 4) and guiding the gen- Nevertheless, since the layers are solid and contiguous, this rep-
eration processes (Section 6) in a memory-efficient fashion; (2) a resents a layered extension of heightfields rather than a true 3D
coherent implicit surface-based sparse landform construction tree representation.
(Section 5) that supports the compact encoding of 3D terrains with While simulation approaches can realistically capture an in-
local 3D landforms, such as arches and overhanging cliffs; (3) ef- creasing variety of geological phenomena, they are difficult to con-
ficient 3D landform generators, which analyze the characteristics trol and computationally demanding. Even with GPU acceleration
of the input terrain and assemble primitives to emulate erosion (Mei et al. 2007; Vanek et al. 2011) these methods cannot be used
processes, such as stream or sea erosion, or incorporate specific to author large-scale finely sampled terrains that match a user’s
landforms, such as goblins (Section 6); and (4) an efficient implicit intent.
surface polygonization algorithm (Section 7) adapted to the sparse Example-based synthesis approaches borrow from texture
amplified terrain data structure of our volumetric terrains. More- synthesis and combine realism and high-level user control by
over, we demonstrate that our model supports both procedural stitching new terrains from patches (Tasse et al. 2012; Zhou et al.
landform shaping processes and interactive editing for the creation 2007), pixels (Gain et al. 2015), or radial primitives (Guérin et al.
of complex terrain using high-level tools that bolster iterative re- 2016) extracted from exemplars. They are thus heavily reliant on
finement with seamless cycles of editing and simulation. sourcing high-quality digital elevation models for the exemplar

ACM Transactions on Graphics, Vol. 38, No. 5, Article 147. Publication date: September 2019.
Terrain Amplification with Implicit 3D Features • 147:3

database. Early patch-based terrain synthesis driven by a user- In contrast, our implicit model efficiently combines 2 12 D and vol-
painted 2D map (Zhou et al. 2007) has subsequently been improved umetric information, which allows a bounded memory footprint
in terms of both computational efficiency and user control (Gain and thus the ability to model far larger scenes. We also provide
et al. 2015; Tasse et al. 2012). Larger-scale alternatives include com- amplification processes and authoring tools at various levels of ab-
piling a dictionary of feature-rich radial primitives that can later straction, enabling the creation of a wide variety of 3D landforms,
be extracted, sparsely placed and blended to form a terrain (Guérin including, but not restricted to, cave networks, hoodoos, canyons,
et al. 2016) or using generative adversarial networks to learn and stratified overhanging cliffs, and karsts.
apply a correspondence between user sketch maps and scanned
terrains (Guérin et al. 2017). These methods are fast, controllable, 3 OVERVIEW
and locally realistic but can fail to respect large-scale geomorpho-
This section provides an overview of the implicit construction
logical patterns, such as drainage networks.
trees that form the basis for the geology and implicit terrain mod-
In general, these techniques build on variants of a 2 12 D height-
els central to our technique. This is followed by a presentation of
field encoding, which limits the resolution achievable on steep
the workflow for generating 3D terrain features (see Figure 2).
slopes and precludes truly three-dimensional features such as
overhangs, arches, and caves. There have been attempts to ad-
3.1 Construction Tree Models
dress this with alternative underlying representations: advected
surfaces (Gamito and Musgrave 2001) borrow from fluid simula- Two structures are central to our 3D amplification of terrains: a
tion by warping terrain according to a differentiable vector field. geology model G for compactly encoding the stratification char-
With suitable restrictions on the vector field, the 3D output surface acteristics of the bedrock, and an implicit terrain model T , which
can be guaranteed to be connected and non-self-intersecting. Alas, defines the surface and captures complex volumetric landforms.
authoring is generally limited to a single global function and the Both are variants of hierarchical implicit construction trees with
surface extraction requires ray marching, which can be expensive. leaves that are implicit primitives and internal nodes that are com-
Voxel structures are at the heart of several volumetric ap- bining operators. A depth-first walk of such a tree is equivalent to
proaches. Ito et al. (2003) emulate fracturing along rock joints by a function evaluation for a given 3D point in the domain. Crucially,
linking neighboring voxels and then selectively breaking these these implicit construction trees enable a representation of volu-
links in fracture zones. Stability analysis is then used to reposi- metric data with a compact memory footprint.
tion or remove connected voxel structures. Although realistic, this In the case of geology, leaves of the construction tree are implicit
strategy is costly, difficult to author, and limited to a specific effect. skeletal primitives that define rock resistance for every point in
Beardall et al. (2007) and later Jones et al. (2010) focus on modeling space. The internal nodes are either binary operators for combin-
small-scale self-contained columnar structures, notably hoodoos ing sub-trees or unary operators for reproducing folds and faults
and goblins. Users define initial conditions, such as a rough overall using various forms of warping. In effect, the geology tree provides
shape and the resistance of stratified voxels, and then spheroidal a resistance function, denoted as ρ.
and cavernous erosion operators are iteratively applied. The curve For terrain T , the leaves are implicit shapes hierarchically com-
diffusion method of Becher et al. (2018) is more general in scope. bined to create specific geomorphological features (e.g., hoodoos,
It extends the heightfield diffusion of feature curves (Hnaidi et al. caves, and tunnels) and ultimately merged with the overall terrain
2010). These curves embody prominent landforms, like ridges and using blending, carving, and warping operators. The correspond-
river beds, and constrain altitude along the curve, but also, cru- ing terrain field function is denoted as f .
cially, the orthogonal slope. This is extended to 3D by writing fea-
ture, noise, and diffusion attributes into a voxel grid, from which 3.2 Amplification Workflow
a surface can later be extracted. Nevertheless, because the voxel The stages of our amplification process are depicted in Figure 2.
grid is encoded explicitly, available memory limits the achievable To begin with, we automatically convert the representation from
resolution. a 2 12 D heightfield H , provided as input, to an implicit 3D terrain
In the Arches system, Peytavie et al. (2009) expand the concept model T (Section 5). In this implicitization step, care is taken to
of stacked layers, first introduced for erosion simulation, by in- ensure that the implicit surface of T accurately embeds the sur-
corporating water and air layers and thereby enabling caves and face of the initial heightfield H . This is coupled with a geology
overhangs. A limited set of sphere and generalized cylinder tools construction tree G, which defines bedrock resistance in the form
are available for users to carve away and accrete material. Al- of strata and fault lines.
though more compact than voxels, the grid of material stacks is This combined representation (Terrain and Geology) is
again stored explicitly and the stabilization process introduced to amenable to various 3D modifications, such as blending and carv-
spread unstable materials to neigboring grid cells prevents alter- ing. Specifically, we augment T with 3D landforms encoded as
nating strata of materials. sub-trees that are attached to and hence modify the construction
All these techniques suffer to a greater or less extent from mem- tree of the terrain T . Those landforms are generated at the most
ory and authoring issues and, with some exceptions (Becher et al. interesting locations, in our case where rock resistance ρ (p) is low.
2018; Peytavie et al. 2009), tend to be restricted in application to During an authoring session, the user can choose from a library
a single global function (Gamito and Musgrave 2001), fracturing of geology and effect archetypes defined as pre-constructed or
effects (Ito et al. 2003), or weathering of small isolated structures procedurally generated construction trees. Alternatively, they
(Beardall et al. 2007; Jones et al. 2010). can manually edit the geology construction tree G by locally

ACM Transactions on Graphics, Vol. 38, No. 5, Article 147. Publication date: September 2019.
147:4 • A. Paris et al.

Fig. 2. Overview of our terrain amplification: Starting from a 2 12 D heightfield H , we first perform an implicitization process to create an implicit terrain
model T suitable for 3D augmentation. At the same time, a model of the underlying geology G is created by the user. Next, a landform generation process
converts T into an augmented construction tree T̃ with sparse 3D features where required. Efficient polygonization is then used to extract a final mesh.

adjusting bedrock resistance, incorporating faults and folds, or


re-weighting specific local erosion effects (see Section 6).
Ultimately, the amplified terrain is polygonized or rendered di-
rectly using ray-tracing. In this regard, we accelerated the polygo-
nization of our volumetric implicit surface-based terrains by ex-
ploiting the compact support of volumetric landforms (Section 7).
Our framework incorporates multiple levels of user control: the
geology and the parameters of the erosive agent (such as the sea Fig. 3. An example of the hierarchical construction of a complex geolog-
level or the stream power) can be edited, the sampling process ical structure. Horizontal strata representing rock layers at different con-
steered, and new features added. We also provide real-time au- sistency are folded by warping (on the right) and this is separated off by
thoring tools in the form of volumetric brushes that can be applied a fault line from a turbulence function (on the left). Blend nodes combine
directly to the terrain. the subtrees.
As an illustration of a typical workflow (see Figure 2), a shore
with undercut sea cliffs and caves could be created by deriving 4 GEOLOGY MODEL
T from an input 2 12 D elevation model, adding a stratified con- In nature, landforms, such as karsts, cliffs, and overhangs, are
struction tree with layers of hard and soft rock for geology, and controlled not only by geomorphological processes, but also by
applying an erosion process according to a user-supplied control the structure of the underlying geology. This defines the rock
field V and the characteristics of the terrain. This process would type of the different strata, and deformations, such as folds and
probabilistically influence the inclusion of subtractive spheroidal faults. These bedrock characteristics lead to differentiated erosion
erosion primitives in the terrain construction tree leading to over- rates, which can give rise to complex formations, such as arches
hangs and caves. and hoodoos.
In our system, these geological characteristics are defined as
3.3 Notation a procedural field function ρ : R3 → [0, 1] that characterizes the
Throughout this article, terrains and 3D landforms are created pro- strength with which the bedrock resists erosion at any point in
cedurally by building on atomic functions. We rely extensively on space. The least and most resistant bedrock have resistance values
3D simplex noise functions, denoted as n : R3 → [0, 1], and com- of 0 and 1, respectively. Depending on requirements this function
bine them into a fractal Brownian motion function t, defined as a may be locally continuous (in the case of folds and warps) or dis-
sum of scaled simplex noise n over o octaves: continuous (in the case of faults).
We implement the resistance function as a hierarchical con-

k=o struction tree (Figure 3), with internal nodes that modify or
1
t (p) = n(2k p). combine resistance values spatially demarcated by the leaf node
2k
k=0 primitives. We have created several specific primitives and
warping operators in order to effectively model bedrock strata.
We also use warping functions to distort the terrain surface by
deforming space in a neighborhood. Such a warp ω is a home- 4.1 Turbulence Primitives
omorphic mapping ω : R3 → R3 . In implicit modeling, the field
Turbulence primitives are often used as a basis for more complex
function of a warped surface is defined as f = f ◦ ω −1 .
geology trees. Let λ 0 denote the fundamental wavelength; the re-
Finally, д represents a compactly supported C 2 continuous
sistance is then defined as a function of elevation:
falloff function based on distance r to some geometry of interest,
and parameterized by a radius of influence R: ρ (p) = t (pz /λ 0 ).
⎧  3

⎨ 1 − (r /R) 2 if r < R, This creates a set of horizontal strata whose resistances are
д(r ) = ⎪
⎩0 otherwise. defined by the turbulence function t. Figure 3 showcases two

ACM Transactions on Graphics, Vol. 38, No. 5, Article 147. Publication date: September 2019.
Terrain Amplification with Implicit 3D Features • 147:5

Fig. 4. Different forms of geology showcased on a simple cliff terrain: sim- Fig. 5. In this example, the hoodoos were created by blending several per-
ple strata combined with noise, folds produced by a warping operator, a turbed sphere and cone primitives, and merging with the ground. Creases
local increase in bedrock resistance produced by sphere primitives, and a and cracks were added by a using warping operator.
fault line. Pale colors map to more resistant and darker to less resistant
bedrock, respectively. Note that we applied a small erosion to the cliff to
visually differentiate the strata.

kinds of turbulence primitives: noise on the left and a strata


obtained from a turbulence combined with a fold on the right.

4.2 Plane Primitives


Turbulence primitives allows us to create stratified geology easily
but lack user control. We extend the geological model by introduc-
ing plane primitives, defined by the distance from a planar skeleton
primitive, which acts as a central core (Figure 4 [Strata]). Let d de- Fig. 6. Heightfield implicitization: given a C 1 elevation function h over a
2D domain Ω ⊂ R2 , we construct a 3D primitive with field function f such
note the signed distance to the plane, д the falloff function, and λ 0
that the implicit surface S = {p | f (p) = T } matches H .
the fundamental wavelength; then the resistance is
function. Given an input resistance function ρ, faults are created
ρ (p) = д ◦ d (p) + t (p/λ 0 ).
along the boundary of the domain ∂F by warping ρ strictly inside
Some scaled turbulence t is added to the potential field to approx- ΩF :

imate irregularities, such as small fractures and joints that reduce ρ ◦ ω −1
F
(p) if p ∈ Ω F ,
rock durability. In most of our scenes, the geology tree was first ρ F (p) =
ρ (p) otherwise.
created by blending multiple plane primitives with a turbulence Figure 4[Fault] shows an example of a fault created with a planar
primitive. As in implicit modeling (Wyvill et al. 1999), blended re- boundary and a translational warp; this results in a discontinuity
sistance is defined as the sum of the resistance of the sub-trees: in the resistance function, which in turn yields sheared strata.
ρ A+B = ρ A + ρ B .
In addition, we improve user control with skeletal primitives 5 IMPLICIT TERRAIN MODEL
(spheres and curves blended with the construction tree) that lo-
Our terrain model T is based on the same underlying hierarchi-
cally modify bedrock resistance (Figure 4 [Local]). These are par-
cal construction tree as the geology model. The difference is that
ticularly useful for defining more resistant spatial regions that re-
primitives and their sub-tree aggregations portray landforms with
tard erosion and form promontories, or, in contrast, less durable
a compact volumetric support, such as hoodoos (Figure 5), rather
regions leading to caves or arches (Section 6).
than strata and bedrock density. Crucially, the model must also
be amenable to the extraction of a final mesh surface. To achieve
4.3 Fold and Deformation Operators
this, we associate a field function f : R3 → R with T defining the
Folds and deformations (see Figure 4 [Warp]) contribute vital re- intensity of a given position in space. The surface of the terrain
alism to geological strata patterns. They are defined as warping is the set of points where the field function equals a user-defined
operators ω : R3 → R3 that deform space. Recall that, as in im- threshold value T :
plicit modeling, the modified field function of a warped sub-tree
is defined as f = f ◦ ω −1 , where ω −1 (p) = p + δ (p) and δ denotes S = {p ∈ R3 , f (p) = T }.
the displacement function. The value of f at a point p is computed by a depth-first traversal of
In our system, random folds are introduced using a 3D turbu- the construction tree with evaluation of the potential field at each
lence function as displacement: δ (p) = t (p/λ 0 ), with λ 0 being the visited node.
fundamental wavelength of the turbulence. Another useful defor-
mation operator is tapering, which can be applied to locally com- 5.1 Implicitization of Input Terrains
press strata. A heightfield is an unworkable format in the context of 3D land-
forms. Consequently, transforming input 2 12 D terrains into our im-
4.4 Faulting Operators plicit 3D construction tree representation is a necessary precursor
Faults are generated by introducing discontinuities in the resis- to any volumetric operations (Figure 6). The challenge is to derive
tance function on the boundary of a given domain. Let Ω F ⊂ R3 a compactly supported function f : R3 → R from H , such that
be such a domain and ω F : R3 → R3 an associated warping the implicit surface T taken at a particular field value T embeds

ACM Transactions on Graphics, Vol. 38, No. 5, Article 147. Publication date: September 2019.
147:6 • A. Paris et al.


⎪ 3T − 2R 2 R − 2T 3
⎪T + x + x + x if 0 <x <R,
σ (x ) = ⎨
⎪ R2 R3

⎩ 2T otherwise.
The function σ limits the range of the
terrain field function f T to [0, 2T ], with a
minimum of 0 beyond the prescribed dis-
Fig. 7. Our implicitization process allows derivation of a consistent im-
plicit field function representation from an input heightfield and a domain tance R, and a maximum of 2T at a distance
Ω ⊂ R2 . of R or greater beneath the terrain surface.
This is important to allow control when
sculpting the implicit terrain with other primitives: the shape of
H . A bounding prism and a compact field function are required so
the surface of the terrain no longer influences the field function
that the resulting field function falls off to 0 at the border of the
beyond R. Finally, the terrain field function f is obtained by inter-
domain. This property guarantees that terrain primitives have no
secting f T and f P :
influence on the field function beyond a user-controlled distance
threshold. This is particularly important when blending multiple f = min( f T , f P ).
terrains (see the case of the floating islands in Figure 20) or when
carving caves or arches deep into the bedrock (see Figure 13). This subtree provides a C 1 compactly supported volumetric terrain
This conversion is achieved by assembling a subtree T with primitive, such that H ⊂ T over the domain Ω  B(R). Because
three nodes: (1) a vertical prism primitive delimiting the extent of such terrain subtrees are fully consistent with other volumetric
the terrain Ω both horizontally and vertically. It has a field function primitives, they can be combined and sculpted just as readily. As
f P that is equal to T within the prism and tails off to zero outside; an illustration, terrain implicitization makes it possible to fashion
(2) a surface primitive, with a field function f T whose value is floating islands simply by intersecting two terrains, one of which
related to distance from the input heightfield and attains a value is inverted with respect to the other (see Figure 1). Note that our
of T when this distance is zero; and (3) an intersection node that representation is compatible with any type of 2 12 D terrain, either
combines f P and f T to produce f . in the form of DEM data or function-based models, such as proce-
The shape of the input terrain is therefore preserved, but in an durally generated terrains (Ebert et al. 1998) or construction trees
implicit form using a field function that combines three functions: (Génevaux et al. 2015).
(1) a bounding function f P , (2) a surface distance f T function, and
(3) a falloff function that guarantees that f should have a com- 5.2 Sculpting Primitives
pact support. The definition of a prism-based region of influence In our system, we augment an implicit terrain model T with
extending beyond and surrounding the initial terrain H is essen- sculpting primitives to create diverse volumetric features, such as
tial for combining in subsequent landforms primitives, for instance arches and caves. Sculpting primitives are controlled by a geomet-
when using the smooth blending operator. Using a domain Ω of ric skeleton S and a surrounding spatial density function f , which
arbitrary shape allows us to create sections of volumetric terrain can be written as a composition f = д ◦ d of the falloff function
with complex horizontal support (Figure 7), which can be com- д (with a radius parameter R controlling the extent of influence)
bined as illustrated in Figure 20. and the Euclidean distance d (p, S) to the skeleton S. For exam-
In more detail: for the prism, we define an enclosing domain as ple, the simple and computationally efficient point-based primitive
the Minkowski difference P = (Ω  B(R)) × Δz, where Ω denotes uses the Euclidean distance d (p) = c − p to its skeletal center
the compact support of the heightfield elevation function h, B(R) point c.
is a disk centered at the origin with radius equal to the falloff R, and Skeletal primitives come in two broad classes: infinitely thin
Δz denotes the range of elevations over Ω. The field function of the primitives, built around points, line segments, and curves (Wyvill
corresponding prism primitive is defined as f P = д ◦ d (p, P). The et al. 1999), where the field tails off directly from the skeleton,
radius of influence R defines the extent of the potential field inside and volumetric primitives, such as spheres, cones, boxes, ellip-
and outside the initial terrain surface skeleton H . soids, and more complex geometry (Barbier and Galin 2004), which
For the surface primitive, we seek to construct a field function have a constant field within their volume and only fall off from the
f T such that the extracted implicit surface S = {p | f (p) = T } at boundary (see Figure 8). The former are helpful in delineating lin-
field value T embeds H . Let h(p) denote the elevation function ear features and locations, such as stratification and point erosion,
of the input terrain H over domain Ω ∈ R2 and v (p) = h(pxy ) − while the latter are effective for carving arches and karst struc-
pz the signed vertical distance to the surface. We define f T over tures, as described in Section 6.
domain Ω × R as One limitation of basing primitives on Euclidean distance is that
it leads to smooth rounded shapes, which do not match the irregu-
f T (p) = σ ◦ v (p). larities inherent in rocky surfaces. There is thus a need for suitably
perturbed skeletal primitives. However, simply adding noise to f
The function σ is a compactly supported sigmoid-like attenua- (i.e., placing a noise node at the root of the construction tree) often
tion function that limits the range of f T to [0, 2T ]. We construct it introduces unwanted holes and disconnected surface components,
as a piecewise odd cubic function (i.e., σ (−x ) = −σ (x )) satisfying and removing such artifacts is computationally expensive (Gamito
the constraints σ (0) = 0, σ  (0) = 1, σ (R) = 2T , σ  (R) = 0: and Maddock 2008).

ACM Transactions on Graphics, Vol. 38, No. 5, Article 147. Publication date: September 2019.
Terrain Amplification with Implicit 3D Features • 147:7

Fig. 8. We use sphere primitives with positive energy to sculpt the terrain
and create arches. Negative skeletal primitives such as points are used to
Fig. 10. A cliff amplified with an erosion operator over the terrain con-
model caves and deep overhangs.
struction tree. Vertical cut planes show the geology tree G composed of
warped high-frequency noise blended with three less resistant strata prim-
itives. This operator allows us to represent precise stratification, creating
overhangs and fine detail without resorting to thousands of primitives.

The term δ (p) is a turbulence-based displacement whose influence


is weighted by the control field f D (p). Note that such localizing
field functions have broader applicability.
In general, warping nodes are complementary to sculpting and
Fig. 9. Skeletal primitives with anisotropic star-shaped noise displace- landform generation (described in Section 6). As proposed by
ment for point c and curve Γ skeletons. Gamito and Musgrave (2001) they can be used to augment terrain
with coarse features, such as large overhangs or broad relief.
Rather, in the spirit of Crespin et al. (1996), we convert Euclidean In order to account for widespread stratification of a scene with-
distance into an anisotropic metric by deforming the area of influ- out resorting to a huge number of primitives, we define an efficient
ence parameter R with turbulence t (p). Let s : R3 → R3 denote erosion node over a controllable region D that draws on the geol-
the projection of p onto an arbitrary skeleton. We compute the ogy model G. Recall that the resistance function ρ of G generates
normalized projection direction u (p): values in the unit interval [0, 1] to reflect the durability of bedrock
p − s (p) strata.
u (p) = . Our erosion node subtracts from the field function of a sub-tree
p − s (p)
f based on ρ, to produce
The projection v (p) of p onto the boundary of the primitive is then f(p) = f (p) − f D (1 − ρ (p)).
defined as v (p) = s (p) + R u (p). Finally, the modified anisotropic
distance to the skeleton is The cliff in Figure 10 as well as the strata of the floating islands in
Figure 20 were created using this operator.
p − s (p)
d(p) = . One notable limitation of such erosion nodes is that they rely on
R + t ◦ v (p) noise function evaluation in the geology tree, which can be difficult
This method can be used to perturb the shape of any skeleton with- to configure and control. In the next section, we present more so-
out artifacts, as illustrated in Figure 9 for the case of point-based phisticated approaches for building construction trees to amplify
and curve-based anisotropic star-convex primitives. 3D detail and control the location of landforms.
A hierarchical implicit construction tree typically holds thou-
5.3 Operators sands of primitives, each of which in theory requires a costly field
function evaluation involving cubic functions and turbulence. The
Operators are internal nodes that combine sub-trees. Our model
workaround is to impose a bounding volume hierarchy, which en-
implements blending and Boolean operators as described by Wyvil
ables ≈ 1 million queries per second even with construction trees
et al. (1999). Recall that blending, denoted as B(NA , NB ) defines
composed of several thousand primitives.
intensity as the sum of the intensities of the two sub-trees: f A+B =
f A + f B , whereas union and intersection are defined by computing
6 LANDFORM GENERATION
the minimum and maximum field values of the sub-trees.
Our model includes warping operators that distort the shape 3D landforms are the result of complex erosion processes involving
of the implicit surface by deforming the surrounding space. Such the shape of the terrain, its geology, and the action of environmen-
nodes are useful for generating fine details over extended regions tal erosive agents. Simulating those phenomena would be compu-
of space. tationally intensive and prevent interactive control. We thus avoid
To enhance control we localize deformations by limiting their physically based simulation and instead, our phenomenological
influence to a compact domain D. Let f D : R3 → [0, 1] denote approach augments a 2 12 D input terrain with 3D landforms by us-
a compactly supported field function over D, which in this case ing controllable and efficient procedural techniques.
characterizes the magnitude of warping applied to a point p. We Generally, our landforms generation algorithms proceed in
incorporate this into the warping node as two phases (Figure 12). First, given an input 2 12 D terrain H and
user-defined geology G, we compute the intensity of the erosion
f(p) = f ◦ ω −1 (p), ω −1 (p) = p + δ (p) f D (p). over the terrain (as factors for stress and resistance) by taking

ACM Transactions on Graphics, Vol. 38, No. 5, Article 147. Publication date: September 2019.
147:8 • A. Paris et al.

Fig. 11. An example of sea cliffs produced by our system. Starting from an input synthetic 2 21 D heightfield and geology with horizontal strata, we incre-
mentally applied three steps of sea erosion. Sea action was limited to an 8-meter range either side of average sea level, leading to strong overhangs at the
base of the cliff. Less durable rock area was specified in the geology model, which automatically generated the arch and sea cave. The effects inset shows
the repartition of volumetric features on the terrain from a top view perspective.

parameter β controls the erosion intensity for the case where


erosion is at a maximum and the material is highly resistant, i.e.,
e (1, 1) = β. This accords with the intuition that erosion will be
stronger for less durable rock under high stress, whereas areas
with little stress will not be eroded at all.
The energy of sphere primitives is proportional to e (ρ (pk ),
σ (pk )). Note that we discard samples with energy below a user-
defined threshold, since the associated primitives would have neg-
ligible influence.
Fig. 12. An overview of our landforms generation pipeline.
Sea cliffs and arches. Formation of these features is dominated by
into account terrain shape, geological structure, and environment the erosive action of the sea on coastal geology (refer to Figure 11).
conditions. Second, we generate a construction tree T̃ for the Sample points pk are generated on the initial terrain around sea
different features. Erosion processes spawn sphere primitives level (Figure 14). The stress of sea waves is approximated by com-
with a negative energy that are blended with the terrain. In bining a falloff distance from sea level w with local coastal acces-
contrast, hoodoo and goblin generation accretes spheres and cone sibility α, as defined by Miller (1994):
primitives in an additive growth process. σ (p) = w (p) α (p).
Our method is capable of generating a vast array of landforms,
such as sea cliffs produced by coastal erosion, overhangs caused by River Canyons and Gorges. The erosive action of strong rivers
river stream erosion, or caves carved by water flowing into porous in narrow confines often creates scenic overhangs. One option
rock. for computing water impact is to run a fluid simulation on the
3D terrain and record the energy with which particles impact the
6.1 Shallow Procedural Erosion canyon walls. This is a computationally costly prospect, so we ap-
Shallow procedural erosion encompasses erosion processes that proximate this flow impact by computing the stream power of the
impact the terrain to a limited depth. Following the general tem- heightfield H (Cordonnier et al. 2016). Let A(p) denote the up-
plate for landform generation, we proceed in two steps: we first stream area of a point p and s (p) the average slope; then
perform Poisson-Sphere sampling in the erosion region to gener- σ (p) = A1/2 (p) s (p).
ate a set of points {pk }. Then, at every point pk , we locate sphere
primitives with a negative energy derived from the erosion inten- Our implementation uses the multiple flow model of Freeman
sity at that location e (pk ). The user may specify the bounds on the (1991) to calculate drainage area in a manner that accounts for
erosion region through bounding volumes or an altitude range. possibly divergent flow. Note that we apply a depression-filling
The effect intensity e at a point is de- algorithm (Barnes et al. 2014) beforehand to circumvent the possi-
termined by the geology G, the shape of bility of local sinks in H . We finally identify the river-bed region as
the terrain H , and the erosion action. More the points on the terrain whose σ is greater than a user-prescribed
precisely, we define a parameterized func- threshold. We also use a small convolution to extend the influence
tion e : [0, 1]2 → [0, 1] that computes ero- of the river bed to the banks, to account for the impact of flooding.
sion according to the resistance of the rock ρ and the effect stress The erosion effect is again computed as e (ρ (p), σ (p)). Figure 15
σ (such as sea elevation range, shown in Figure 12). In our imple- shows a comparison between an original 2 12 D terrain and the re-
mentation, e is a bi-linear interpolation of these quantities: sult of our amplification process.

e (ρ, σ ) = σ (1 − ρ)(1 − β ) + σ β . 6.2 Deep Procedural Erosion


This obeys the constraint that e (ρ, 0) = 0, namely, that there Karst topography leads to caves and sinkholes through the dissolu-
can be no erosion effect without the rock being under stress. The tion of soluble rock, such as limestone and gypsum. Below ground

ACM Transactions on Graphics, Vol. 38, No. 5, Article 147. Publication date: September 2019.
Terrain Amplification with Implicit 3D Features • 147:9

Fig. 13. Four steps in the generation of a cave system using a modified Invasion-Percolation algorithm. Starting from three sinks in the 2 21 D heightfield,
invasion percolation progressively carves the subsurface of the terrain by following the least resistant layers of bedrock. Poisson Sphere sampling allows
the creation of multiple tunnels.

Fig. 16. Overview of our modified invasion percolation algorithm: after


Fig. 14. Sea erosion impact e combines geology resistance ρ, sea erosion
selecting the candidate point with least resistance ρ, the terrain is carved
stress σ , and accessibility (not illustrated). Sphere primitives are seeded
by generating a negative sphere primitive and new candidate points are
over the surface with a negative energy derived from e (ρ (p), σ (pz )).
added to the queue.

resistant material, adding new candidates to the queue as the fluid


percolates into the material.
First, the queue of candidate points Q is initialized with the
sinkholes of the input terrain. In our implementation, they can be
found automatically by computing the sinks, also referred to as
the pits (Barnes et al. 2014), of the drainage area, i.e., the cells in
the grid for which all neighbors have a higher elevation. The user
may also freely add additional resurgence points or sinks in order
to adjust the scene.
While the queue Q has candidate points whose resistance is be-
low a user-defined threshold, we perform the following steps (Fig-
ure 16): (1) Find the point pk in Q with the least resistance ρ (pk )
and remove it from Q. (2) Locally carve the bedrock by blending
the terrain with primitives with negative energy. (3) Propagate per-
colation by finding new points in the lower hemisphere at pk and
add them to Q. These steps are repeated until Q is empty.
In the original invasion percolation algorithm, step (1) is deter-
ministic, always de-queuing the point with the least resistance. In
our implementation, we slightly perturb the resistance by a ran-
Fig. 15. A comparison between raw data (with a resolution of 1m per pixel) dom factor, whose range ε is controlled by the user. We set ε ≈ 0.1
of The Mystery Canyon in the Zion National Park, Utah, and the outcome
to allow for more randomness in the selection of candidates, and,
of our amplification process. Volumetric features occupy 20% of the scene’s
consequently, in the shape of the generated networks. The second
surface area.
step carves the terrain only if the rock is sufficiently soft, specif-
ically where ρ (pk ) < ρ 0 , with ρ 0 as a user-defined threshold. We
they encompass complex drainage systems and networks with un- modify the energy of the primitive according to the erosion effect,
derground rivers and caves. On the surface, they are characterized taking into account the stress and rock resistance e (ρ, σ ) (see Sec-
by sinkholes and resurgence points. tion 6.1). The third step generates new erosion directions. Since
We propose an original method for generating karsts, taking our we approximate water infiltrating porous stone, we sample a set
inspiration from invasion percolation simulation (Wilkinson and of random directions on an inverted hemisphere to account for
Willemsen 1983). This is a simplified physical model that simu- the fact that water flows downward. New samples are added to
lates the pore-by-pore advancement of a fluid in a porous mate- the queue Q only if their Poisson sphere does not intersect other
rial when the flow is slow enough that viscosity effects can be ne- candidates in the queue.
glected. Starting from a set of initial seed points, the algorithm Our experiments demonstrate that tunnels extend organically
updates a queue Q of candidates ordered by decreasing material and consistently with the geology of the terrain. Figure 13 illus-
resistance, and progressively advances in the direction of the least trates this phenomenon: we used a set of parallel horizontal strata

ACM Transactions on Graphics, Vol. 38, No. 5, Article 147. Publication date: September 2019.
147:10 • A. Paris et al.

Fig. 17. This example showcases a complex topography with sinkholes, tunnels, and caves formed by our invasion percolation algorithm. The portion of
terrain extends over 5.2 × 5.2km and the underground network of tunnels covers 2% of the surface. 165,773 sphere primitives were generated to create the
caves.

Fig. 19. A more complex scene constructed with multiple hoodoo blocks.
Fig. 18. Examples of hoodoos generated with different symbols and pro-
duction rules.
production rules are driven by the underlying geology, which im-
with some turbulence to produce layered and connected tunnel pacts not only the probability but also the parameters of terminal
structures. Figure 17 shows an example where sinks were com- symbols. We adapt the symbol size to the bedrock resistance ρ (p).
puted automatically on the plateau, leading to a complex set of All the production rules start from an axiom A. We also add rota-
tunnels emerging on the cliff. tions to symbols to add variety to the generated shapes. Figure 19
shows a generated scene composed of multiple Hoodoo blocks.
6.3 Hoodoos and Goblins
Hoodoos are tall spires of rock that protrude from the base of arid 7 POLYGONIZATION
basins and broken land. Their height varies from a few meters to At their core our terrains are implicit surfaces generated by
more than 40 meters and their formation is the result of both frost evaluating an implicit 3D construction tree T . Although im-
wedging and rain. plicit surface visualization can be achieved both directly using
A well-known location for hoodoos is the Bryce Canyon ray tracing, typically with interval arithmetic (Mitchell 1990)
National Park, but they can be found elsewhere as well. Creating or Lipschitz (Hart 1996; Kalra and Barr 1989) techniques, and
such features using a physically based approach would require an indirectly by first extracting a mesh (Wyvill et al. 1986; Lorensen
unreasonable number of erosion iterations. Therefore, we propose and Cline 1987), doing so efficiently for highly detailed terrains
a procedural approach based on an open grammar method, is challenging. Fortunately, in the case of an amplified terrain the
inspired by the grammars introduced in plant modeling (Měch volumetric carving and sculpting elements are bounded in extent
and Prusinkiewicz 1996). The two-step algorithm is as follows: (1) and generally located on or below the input 2 12 D terrain. This
We compute the probabilistic location of hoodoos according to allows potential field queries f (p) used for ray tracing and mesh
drainage area, average slope, and a prescribed user-mask. (2) We extraction to be restricted to a spatial band, thereby reducing the
generate vertical hoodoo shapes with an open grammar, whose number of field function evaluations.
parameters are driven by the geology. The rules are based on the In our case, construction trees consist of thousands of complex
bedrock resistance function ρ: less durable bedrock will produce skeletal primitives (Table 1), each requiring multiple cubic function
shapes differently to more durable bedrock. evaluations. This makes ray tracing techniques less convenient
Figure 18 shows different types of hoodoos produced by our than polygonization in the context of interactive editing, which
grammar rules. is one advantage of our method. Therefore, we focus on polygo-
The probability of hoodoo growth is computed according to nization techniques in this section. Note that while we frame a
the drainage area A and the local slope s. Hoodoos are most subsequent presentation of our acceleration in terms of mesh ex-
likely to appear on talus or cliffs, which are characterized by a traction, the benefits also apply to ray casting where empty space
medium slope and low drainage area. We compute the probability skipping can be exploited (Kruger and Westermann 2003). Our goal
of hoodoo growth by combining these criteria and then perform is to extract a C 0 surface from our implicit construction tree, and
Poisson-disk sampling to generate starting positions, which will take advantage of the localized aspect of volumetric features.
be fed as axioms to the grammar. It is useful to define a measure for the proportion of the domain
Hoodoos are created by assembling multiple terminal symbols occupied by 3D features. Let n(p) denote the number of primitives
using an open parameterized grammar method (see Figure 21). Our whose vertical projection onto the ground plane encompasses the

ACM Transactions on Graphics, Vol. 38, No. 5, Article 147. Publication date: September 2019.
Terrain Amplification with Implicit 3D Features • 147:11

Fig. 20. The floating islands were created by combining implicitized heightfields; an erosion operator was then added to the construction tree to produce a
precise stratification, and we finally carved some tunnels and caves into the bedrock of one island by applying the Invasion-Percolation algorithm. Individual
islands are between 300m and 600m wide and were placed manually in the scene, for a total of 6mb in memory.

Fig. 22. A side-view summary of our polygonization algorithm: (1) We


compute altitude bounds z̄ for each grid vertex by querying the construc-
tion tree; (2) these bounds are dilated to ensure continuity in the output
Fig. 21. Simplified production rules used in our open parameterized gram- mesh, leading to extended bounds z̃, thereby (3) defining a minimal zone
mar to generate hoodoos and goblins. We represent non-terminal symbols for cube traversal.
with capital letters and their corresponding terminals in lowercase; A de-
notes the axiom of the grammar.
a given position, walks the tree to evaluate bounds on prim-
itives and combine them using internal operators. For vol-
point p ∈ R2 .If the elevation has not been carved or sculpted and
umetric primitives, such as points and spheres, minimum
is determined solely by a heightfield primitive, then n(p) = 1, oth-
and maximum altitude is based on the associated bounding
erwise n(p) > 1. The ratio of 3D coverage with respect to the do-
  denotes the area where box. For a heightfield primitive h a unique elevation h(pi j )
main is then defined as a = A/A, where A
is returned leading to equal upper and lower bounds after
n(p) > 1 and A is the domain area. As Table 1 indicates for more
conversion in grid space: ai j = bi j . Next, binary operators
extensive scenes (such as in Figures 11 and 17), this proportion
such as carving or blending return the union of the bounds
tends to be small.
of their children z 1 and z 2 : z̄i j = ∪(z̄ 1 , z̄ 2 ).
The original Marching Cubes algorithm extracts a mesh M from
an implicit function f for values f (p) = T . In our case, this would (2) To ensure C 0 continuity in the final mesh, we perform a di-
entail, given an input box B and a 3D virtual grid G, querying the latation of z̄ in the one-ring neighborhood of each pi j , lead-
field function at every vertex pi jk to extract the correct triangle ing to extended integer bounds z̃. Let Vi j denote the one-
configuration for cells in the grid. Fortunately, we can optimize ring neighborhood of pi j , then the dilated bound is z̃i j =
surface extraction by leveraging the characteristics of the implicit ∪ (x,y ) ∈Vi j z̄ xy . Intuitively, the dilated bound at a grid vertex
3D construction tree in two ways: represents the largest elevation range shared between itself
and its neighbors.
(1) Surface Bounds. We establish relatively tight bounds on the
range of possible elevations and only process cubes, and The algorithm traverses (and selects triangle configurations
hence query the field function f (p), within this range. for) the reduced subset of cells within the bounds specified by z̃.
(2) Direct Elevation Extraction. In regions unaffected by carving This leads to a speedup up to 12, depending on the proportion of
or sculpting (where n(p) = 1) we derive vertex positions volumetric features in the scene. Results and timings are reported
directly from the elevation function and avoid costly in Table 1.
bisection search for f (p) = T . Direct Elevation Extraction. The intersection of a grid cell edge
Surface Bounds. We prune the grid G to reduce the set of grid and the terrain surface is typically computed using bisection or
cells that require processing. Let [ai j , bi j ] denote an inclusive in- Newton-Rhapson root finding, with repeated calls to the field func-
teger range representing the lower and upper elevation bounds for tion f . In 2 12 D regions, there is no need for such iterative ap-
a given 2D vertex pi j in the grid. To obtain these bounds, we per- proaches since the elevation can be directly computed as h(pi j ).
form the following steps (see Figure 22): Therefore, we approximate vertices using linear interpolation,
which provides sufficient accuracy and results in a speedup rang-
(1) The construction tree is queried to return elevation bounds ing from 1.5 to 2.5.
z̄ = [ai j , bi j ] for each vertex pi j . This requires the defini- Table 1 reports statistics for our visualization method. In par-
tion of an R2 → Z2 bounds function z̄i j = B(pi j ) that, for ticular, this shows the considerable reduction in computationally

ACM Transactions on Graphics, Vol. 38, No. 5, Article 147. Publication date: September 2019.
147:12 • A. Paris et al.

Fig. 23. Varied landforms generated using our implicit model on small terrains (500 × 500m2 ): a coastal cliff with three sea erosion steps applied (left), a
large arch forming a bridge (center-left), a canyon where river erosion has sculpted deep overhangs (center-right), and goblins placed along the banks of a
river (right).

Table 1. Statistics for Different Amplified Terrains

Memory Meshing
Scene Size a #N Generation #E Ours Arches Grid resolution t t0 #C #C0
Sea (11) 6.0 × 6.0 0.01 50 693 5.5 156 3.0 300 2, 0002 × 33 13.3 91.5 9 210
Karst (17) 5.2 × 5.2 0.02 165 773 6.2 43 9.9 140 1, 5202 × 447 14.2 188.4 14 1, 000
Canyon (15) 1.1 × 1.1 0.20 137 043 6.8 0 9.3 110 1, 0002 × 546 32.6 159.0 30 569
Hoodoo (19) 0.35 × 0.35 0.05 55 619 2.1 0 5.5 10.2 6502 × 245 2.9 15.8 4 111
Benagil (25) 0.4 × 0.4 0.35 13 264 - 551 1.3 2.1 5502 × 87 2.7 3.9 8 20
Size [km2 ], percentage of 2 12 D to 3D surface area a , number of nodes in the construction tree #N , generation time [s], editing click count done by the user #E , memory
footprint of the construction tree excluding the base heightfield [Mb], memory consumption [Mb] using the model of Peytavie et al. (2009), meshing grid resolution, optimized
and standard polygonization time t [s] and t 0 [s], number of calls to f with our optimized #C and with the standard algorithm #C0 , in millions. Benagil was entirely authored
by an experienced user using skeletal brushes in less than 10 minutes and therefore has no generation time.

demanding field function calls (#C vs. #C0 ) and consequent accel-
eration by up to a factor of 12 (t vs. t 0 ).
Our optimized version profits from the localization of volumet-
ric features. Thus the more widespread the volumetric features are
the less comparatively efficient our approach becomes. This can be
observed in the Benagil scene (Figure 25), where the ratio a is atyp-
ically high and the speedup is only 1.8. Thus, our improved version
is most efficient in the context of realistic terrains with localized
volumetric features.

8 RESULTS AND DISCUSSION


We implemented our system in C++. Experiments were performed Fig. 24. A comparison between real (left) and synthetic karsts (right). From
on a desktop computer equipped with Intel® Core i7, clocked at an initial 2 12 D heightfield, we simulate water infiltrating soft strata and
4GHz with 16GB of RAM, and an NVidia GTX 970 graphics card. eroding the bedrock. In this example, the initial points for invasion perco-
The output of our system was streamed into Vue Xstream® to pro- lation were distributed on the cliff faces and in depressions on the plateau.
duce photorealistic landscapes (Figures 1, 11, 15, 17, 20, 24, 25).
Our method is capable of generating a variety of landscapes am-
plified with local 3D features. Figures 11 and 8 show coastal cliffs
procedurally eroded by sea, as well as complex features such as
arches and caves created by interactive editing. Figures 17 and 13
depict procedural invasion-percolation simulation leading to the
evolution of caves and tunnels deep below the surface. Figures 19
and 21 show hoodoos created with an open shape grammar based Fig. 25. Comparison between a real (left) and synthetic cave (right) in Be-
on the geology G. Finally, Figure 20 demonstrates the capability of nagil, Portugal. The scene was made by an experienced user in less than
our framework in creating and authoring fantastical scenes. 10 minutes using skeletal brushes (spheres and curves) as sculpting tools.

It is difficult to quantify how closely our results match correspond-


8.1 Validation ing effects in nature and so we rely on visual inspection.
Validation is a challenging issue for procedural methods. Real ter- Figure 24 shows a side-by-side comparison between a real karst
rain data, with overhangs, cliffs, arches, and karsts, are not readily and a volumetric model, synthesized with our method. The mod-
available, making comparison difficult. Instead, we have included ified invasion percolation algorithm generates a network of caves
photographic images of real phenomena as a basis of comparison. and tunnels that have a similar overall structure and appearance.

ACM Transactions on Graphics, Vol. 38, No. 5, Article 147. Publication date: September 2019.
Terrain Amplification with Implicit 3D Features • 147:13

Figure 25 illustrates another example in which the user inter- to their extent. Exceptions are the Zion Canyon (Figure 15), which
actively sculpted a cave, inspired by a photograph of the Benagil exhibits extensive overhangs resulting from hydraulic erosion, and
Cave in Portugal. It required 10 minutes for an experienced user the Benagil Cave (Figure 25), which is a small scene dominated by
to author the scene from start to finish. a sea cave. Our implicit model and the use of skeletal primitives
enables us to represent local volumetric features with minimal in-
8.2 Control formation in memory. To achieve the results depicted in Table 1 we
developed an instancing system that effectively halves the mem-
Our method provides several mechanisms for user control over
ory cost of replicating a skeletal primitive.
landform generation. First, a user can define the regions to be
amplified with erosion effects or landforms, by either directly Control. Our system integrates user-control and authoring
painting a control region onto the 2D input terrain or by marking across different stages of the pipeline. Folds, faults, and different
out a spatial volume. Effects can also be fine-tuned by changing geological strata can be specified easily. The procedural genera-
their generative parameters. In contrast with most simulation- tion algorithms are parameterized with a limited set of intuitive
based methods, these parameters have a direct and intuitive parameters. The user can also directly sculpt landforms by merg-
physical interpretation (e.g., the height and base radius of the ing the terrain with primitives or even subtrees. Moreover, our sys-
hoodoos or the maximum depth of sea erosion). tem efficiently combines procedural generation and authoring in
Interactive editing is also supported. A user can directly and in- a unified and coherent framework. This bridges the gap between
teractively sculpt the terrain with extruding or intruding skele- editing and procedural generation, and supports iterative cycles of
tal primitives, or apply more complex brushes to form procedural interactive refinement.
arches and caves (see accompanying video). Table 1 reports the Extensibility. Our hierarchical implicit construction tree embeds
number of editing clicks #E required to produce the different fig- heightfield representations at an extremely reduced cost, and al-
ures: Figures 11 and 17 were edited in less than 5 minutes and af- lows us to augment 2 12 D terrains with a wide range of 3D land-
ter multiple procedural erosion steps (Section 6). The user then forms. This extensibility is depicted in Figure 23, which shows
placed sphere primitives to better sculpt the arches and the caves. the outcomes of a variety of processes. These scenes were created
Figures 15 and 19 were fully procedural. Figure 25 was entirely au- by extending the model with new operators, primitives, and algo-
thored by an experienced user who interactively hollowed out the rithms. We also believe that the model is suited to physical simu-
cave and sculpted the arches with point and sphere primitives to lation, but testing this is left as future work.
match the reference picture; the scene was completed in approxi-
mately 10 minutes. A key benefit of our framework is that our ter-
rain models offer a single consistent global scene structure. This 8.4 Comparison with Other Techniques
means that the user can seamlessly switch between manual au- Our primitive-based implicit model allows the generation of a wide
thoring and procedural algorithms over as many cycles of iterative variety of landforms with a low memory footprint. Such com-
refinement as required. Interactive visualization during editing is pactness is in contrast to other volumetric terrain models, such
made possible by delimiting the shaping tools and only repolygo- as Arches (Peytavie et al. 2009), which rely on voxels or material
nizing over modified cells in the grid. stacks. Table 1 compares the overall memory footprint for several
terrains and demonstrates that our method uses two orders of mag-
8.3 Performance nitude less memory than material stacks, at the same precision.
There are two main reasons for this: first, our hierarchical con-
Table 1 reports the following statistics for the landscapes portrayed struction tree is a parsimonious vector-based representation that
in our results: the extent of the input terrain (in [km2 ]), the num- generates at appropriate locations the specific primitives required
ber of construction tree nodes produced by 3D augmentation, the by a landform, and, second, we only rely on 3D primitives where
amount of memory required, and the time required to generate the needed, and resort to more memory-efficient implicitized height-
construction tree (which excludes subsequent polygonization). We field representations elsewhere.
also report the amount of memory needed to model the same ter-
rains using the Arches (Peytavie et al. 2009) model.
9 CONCLUSION
Speed. Our amplification methods generate the construction tree
We have introduced a novel method for augmenting 2 12 D height-
representing complex landforms at a precision of ≈10cm in less
fields with 3D landforms. Such 3D landforms as sea cliffs, canyons
than 7 seconds for terrains that extend over 5km2 . Performance
with overhangs, network of caves and tunnels, hoodoos and gob-
could be improved by using the GPU, but it is beyond the scope
lins, and even floating islands, are essential scenic elements in syn-
of this article and is left as future work. Note that such procedural
thetic environments, animated films, and computer games.
methods are more time-consuming when applied globally as op-
Our compact hierarchical primitive-based implicit representa-
posed to locally during an editing session, where effects are re-
tion captures 3D features at resolutions as fine as 10cm over large
stricted to a smaller domain to ensure interactivity.
terrains up to 5km2 in extent with a memory footprint of at most
Memory. Our hierarchical implicit construction tree is space ef- a few megabytes. Structuring the terrain as an implicit hierarchy
ficient in modeling 3D landforms. One important aspect of our ap- also enables significantly accelerated surface extraction. At the
proach is that implicit primitives are only located where required. heart of our method is a system that analyzes an input 2 12 D terrain
Thus, most of our scenes have a low occupancy ratio a compared to derive the location and characteristics of volumetric landforms,

ACM Transactions on Graphics, Vol. 38, No. 5, Article 147. Publication date: September 2019.
147:14 • A. Paris et al.

and which automatically generates their shape according to James Gain, Patrick Marais, and Wolfgang Strasser. 2009. Terrain sketching. In Pro-
the relief of the terrain, environmental erosion effects, and the ceedings of the Symposium on Interactive 3D Graphics and Games. ACM, 31–
38.
underlying structure of the geology. James E. Gain, Bruce Merry, and Patrick Marais. 2015. Parallel, realistic and control-
Our system integrates user-control and authoring at different lable terrain synthesis. Computer Graphics Forum 34, 2 (2015), 105–116.
Eric Galin, Eric Guérin, Adrien Peytavie, Guillaume Cordonnier, Marie-Paule Cani,
stages of the pipeline, from definition of the different strata, folds Bedrich Benes, and James Gain. 2019. A review of digital terrain modeling. Com-
and faults of the geology, to direct sculpting of features. Crucially, puter Graphics Forum (Proceedings of Eurographics 2019 STAR) 38, 2 (2019), 553–
the transition between editing and simulation is seamless, which 577.
Manuel Gamito and Steve Maddock. 2008. Topological correction of hypertex-
supports iterative cycles of interactive refinement. tured implicit surfaces for ray casting. The Visual Computer 24, 6 (2008),
We have shown a wide variety of obtainable effects, including 397–409.
augmenting real 2 12 D DEM data with features such as arches and Manuel N. Gamito and Kenton Forest Musgrave. 2001. Procedural landscapes with
overhangs. In Proceedings of the Portuguese Computer Graphics Meeting.
caves, and synthesizing fantastical floating islands. Jean-David Génevaux, Éric Galin, Éric Guérin, Adrien Peytavie, and Bedřich Beneš.
In the future, we would like to investigate the implicit model- 2013. Terrain generation using procedural models based on hydrology. ACM
Transactions on Graphics 32, 4 (2013), 143:1–143:13.
ing of finely detailed rock features at scales below 10cm, thereby Jean-David Génevaux, Eric Galin, Adrien Peytavie, Eric Guérin, Cyril Briquet,
bridging the gap between modeling and texturing for terrains. Cur- François Grosbellet, and Bedrich Benes. 2015. Terrain modelling from feature
rently, details such as cracks in granite or thin seams of limestone primitives. Computer Graphics Forum 34, 6 (2015), 198–210.
Eric Guérin, Julie Digne, Eric Galin, and Adrien Peytavie. 2016. Sparse representa-
require creating complex geometric primitives or seeding thou- tion of terrains for procedural modeling. Computer Graphics Forum (Proceedings
sands of tiny primitives, with a concomitant increase in both mem- of Eurographics) 35, 2 (2016), 177–187.
ory and computation. Eric Guérin, Julie Digne, Eric Galin, Adrien Peytavie, Christian Wolf, Bedrich Benes,
and Benoit Martinez. 2017. Interactive example-based terrain authoring with con-
ditional generative adversarial networks. ACM Transactions on Graphics (Proceed-
ACKNOWLEDGMENTS ings of SIGGRAPH Asia 2017) 36, 6 (2017), 228:1–228:13.
John C. Hart. 1996. Sphere tracing: A geometric method for the antialiased ray tracing
We would like to credit E-on software for providing Vue xStream of implicit surfaces. The Visual Computer 12, 10 (1996), 527–545.
for rendering our terrain models. Houssam Hnaidi, Éric Guérin, Samir Akkouche, Adrien Peytavie, and Éric Galin. 2010.
Feature based terrain generation using diffusion equation. Computer Graphics Fo-
rum 29, 7 (2010), 2179–2186.
REFERENCES Tomoya Ito, Tadahiro Fujimoto, Kazunobu Muraoka, and Norishige Chiba. 2003. Mod-
Aurelien Barbier and Eric Galin. 2004. Fast distance computation between a point and eling rocky scenery taking into account joints. In Proceedings of Computer Graph-
cylinders, cones, line-swept spheres and cone-spheres. Journal of Graphics Tools ics International. IEEE, 244–247.
9, 2 (2004), 11–19. M. Jones, M. Farlay, M. Butler, and M. Beardall. 2010. Directable weathering of concave
Richard Barnes, Clarence Lehman, and David Mulla. 2014. Priority-flood: An optimal rock using curvature estimation. IEEE Transactions on Visualization and Computer
depression-filling and watershed-labeling algorithm for digital elevation models. Graphics 16, 1 (2010), 81–97.
Computers and Geosciences 62 (2014), 117–127. D. Kalra and A. H. Barr. 1989. Guaranteed ray intersections with implicit surfaces.
M. Beardall, M. Farley, D. Ouderkirk, C. Reimschussel, J. Smith, M. Jones, and P. SIGGRAPH Computer Graphics 23 (1989), 297–306.
Egbert. 2007. Goblins by spheroidal weathering. In Proceedings of the 3rd Euro- Alex D. Kelley, Michael C. Malin, and Gregory M. Nielson. 1988. Terrain sim-
graphics Conference on Natural Phenomena. 7–14. ulation using a model of stream erosion. Computer Graphics 22, 4 (1988),
Michael Becher, Michael Krone, Guido Reina, and Thomas Ertl. 2017. Feature-based 263–268.
volumetric terrain generation. In Proceedings of the 21st ACM SIGGRAPH Sympo- J. Kruger and R. Westermann. 2003. Acceleration techniques for GPU-based volume
sium on Interactive 3D Graphics and Games (I3D’17). 10:1–10:9. rendering. In Proceedings of the 14th IEEE Visualization 2003 (VIS’03). IEEE Com-
M. Becher, M. Krone, G. Reina, and T. Ertl. 2018. Feature-based volumetric terrain gen- puter Society, 38–44. DOI:https://doi.org/10.1109/VIS.2003.10001
eration and decoration. IEEE Transactions on Visualization and Computer Graphics William E. Lorensen and Harvey E. Cline. 1987. Marching cubes: A high resolution
(2018), 1. 3D surface construction algorithm. SIGGRAPH Computer Graphics 21, 4 (1987),
Farès Belhadj and Pierre Audibert. 2005. Modeling landscapes with ridges and rivers: 163–169.
Bottom up approach. In Proceedings of the International Conference on Computer Radomír Měch and Przemyslaw Prusinkiewicz. 1996. Visual models of plants in-
Graphics and Interactive Techniques in Australasia and South East Asia. ACM, 447– teracting with their environment. In SIGGRAPH’96. ACM, 397–410. DOI:https:
450. //doi.org/10.1145/237170.237279
Norishige Chiba, Kazunobu Muraoka, and K. Fujita. 1998. An erosion model based Xing Mei, Philippe Decaudin, and Baogang Hu. 2007. Fast hydraulic erosion simula-
on velocity fields for the visual simulation of mountain scenery. The Journal of tion and visualization on GPU. In Pacific Graphics. IEEE, 47–56.
Visualization and Computer Animation 9, 4 (1998), 185–194. Gavin Miller. 1994. Efficient algorithms for local and global accessibility shading. In
Guillaume Cordonnier, Jean Braun, Marie-Paule Cani, Bedrich Benes, Éric Galin, Proceedings of the 21st Annual Conference on Computer Graphics and Interactive
Adrien Peytavie, and Éric Guérin. 2016. Large scale terrain generation from tec- Techniques (SIGGRAPH’94). ACM, 319–326.
tonic uplift and fluvial erosion. Computer Graphics Forum 35, 2 (2016). Don P. Mitchell. 1990. Robust ray intersection with interval arithmetic. In Proceedings
Guillaume Cordonnier, Marie-Paule Cani, Bedrich Benes, Jean Braun, and Eric Galin. on Graphics Interface’90. 68–74.
2018. Sculpting mountains: Interactive terrain modeling based on subsurface geol- Forest Kenton Musgrave, Craig E. Kolb, and Robert S. Mace. 1989. The synthesis and
ogy. IEEE Transactions on Visualization and Computer Graphics 24, 5 (2018), 1756– rendering of eroded fractal terrains. Computer Graphics 23, 3 (1989), 41–50.
1769. Kenji Nagashima. 1998. Computer generation of eroded valley and mountain terrains.
Guillaume Cordonnier, Eric Galin, James Gain, Bedrich Benes, Eric Guérin, Adrien The Visual Computer 13, 9–10 (1998), 456–464.
Peytavie, and Marie-Paule Cani. 2017. Authoring landscapes by combining Mattia Natali, Endre M. Lidal, Julius Parulek, Ivan Viola, and Daniel Patel. 2013.
ecosystem and terrain erosion simulation. ACM Transactions on Graphics 36, 4 Modeling terrains and subsurface geology. In Eurographics State of the Art.
(2017). 155–173.
Benoît Crespin, Carole Blanc, and Christophe Schlick. 1996. Implicit sweep objects. Adrien Peytavie, Éric Galin, Stephane Mérillou, and Jérôme Grosjean. 2009. Arches: A
Computer Graphics Forum 15, 3 (1996), 165–174. framework for modeling complex terrains. Computer Graphics Forum 28, 2 (2009),
Evgenij Derzapf, Björn Ganster, Michael Guthe, and Reinhard Klein. 2011. River net- 457–467.
works for instant procedural planets. Computer Graphics Forum 30, 7 (2011), 2031– Przemyslaw Prusinkiewicz and Marc Hammel. 1993. A fractal model of mountains
2040. with rivers. In Proceedings of Graphics Interface. 174–180.
David S. Ebert, Forest Kenton Musgrave, Darwyn Peachey, Ken Perlin, and P. Roudier, B. Peroche, and M. Perrin. 1993. Landscapes synthesis achieved through
Steven Worley. 1998. Texturing and Modeling: A Procedural Approach (3rd ed.). erosion and deposition process simulation. Computer Graphics Forum 12, 3 (1993),
Elsevier. 375–383.
T. Graham Freeman. 1991. Calculating catchment area with divergent flow based on Brennan Rusnell, David Mould, and Mark G. Eramian. 2009. Feature-rich distance-
a regular grid. Computer and Geoscience 17 (1991). based terrain synthesis. The Visual Computer 25, 5–7 (2009), 573–579.

ACM Transactions on Graphics, Vol. 38, No. 5, Article 147. Publication date: September 2019.
Terrain Amplification with Implicit 3D Features • 147:15

Flora Ponjou Tasse, Arnaud Emilien, Marie-Paule Cani, Stefanie Hahmann, and Brian Wyvill, Andrew Guy, and Éric Galin. 1999. Extending the CSG tree—Warping,
Adrien Bernhardt. 2014. First person sketch-based terrain editing. In Proceedings blending and boolean operations in an implicit surface modeling system. Com-
of the Graphics Interface. 217–224. puter Graphics Forum 18, 2 (1999), 149–158.
Flora Ponjou Tasse, James Gain, and Patrick Marais. 2012. Enhanced texture-based Geoff Wyvill, Craig McPheeters, and Brian Wyvill. 1986. Data structure for soft ob-
terrain synthesis on graphics hardware. Computer Graphics Forum (2012), 1959– jects. Visual Computer 2 (Aug. 1986), 227–234.
1972. Howard Zhou, Jie Sun, Greg Turk, and James M. Rehg. 2007. Terrain synthesis from
Juraj Vanek, Bedřich Beneš, Adam Herout, and Ondřej Šťava. 2011. Large-scale digital elevation models. Transactions on Visualization and Computer Graphics 13,
physics-based terrain editing using adaptive tiles on the GPU. Computer Graphics 4 (2007), 834–848.
and Applications 31, 6 (2011), 35–44.
David Wilkinson and Jorge F. Willemsen. 1983. Invasion percolation: A new form
of percolation theory. Journal of Physics A: Mathematical and General 16 (1983),
3365–3376. Received December 2018; revised June 2019; accepted June 2019

ACM Transactions on Graphics, Vol. 38, No. 5, Article 147. Publication date: September 2019.

You might also like