Node reference
Every node in the TerrainForge catalog, with its ports and every parameter's default and range.
This page is generated from the plugin's own node catalog, not written by hand.
Each native node carries its catalog entry in its source file, and the editor's
node library, the node inspector and the agent tool ListNodeTypes all read
that same entry. The labels, descriptions, ports, defaults and ranges below are
copied from it.
To regenerate after the catalog changes, from the root of the wiki repository:
node tools/export-terrainforge-nodes.mjs <path to the TerrainForge plugin folder>
node tools/gen-terrainforge-nodes.mjsThe first reads the source and writes data/terrainforge-nodes.json; the
second writes this page from that file.
Every node runs natively. There is no node that needs another program or a service. Where a node has a GPU kernel and the Compute setting allows it, part of it runs on the graphics card; the result is checked against the CPU version. See GPU compute.
Reading the tables
- Ports carry one of four kinds of data: elevation (a heightfield in metres), mask (0 to 1), colour (sRGB, for display) and RGB data (linear packed masks). They are not interchangeable: validation refuses a link between different kinds.
- An input marked optional can stay unconnected. A required input must be connected before that branch can be previewed or built.
- Distances and heights are in metres, areas in square metres, angles in degrees, unless the label says otherwise. Positions are metres from the map centre, X east and Y south.
- "New nodes start at" marks a parameter whose default for a new node differs from the value an older saved graph keeps. Saved graphs are not changed by an update.
- Runtime only marks the per-node
computechoice (auto,cpu,gpu). It decides where the node runs, not what it computes.
Categories
| Category | Nodes | What is in it |
|---|---|---|
| Generate | 5 | Nodes with no terrain input: a starting heightfield from a file, noise, a ramp or a constant. |
| Landforms | 11 | Placed features in world metres: ranges, peaks, canyons, volcanoes, islands, dunes, plateaus, lava and rock strata. |
| Layer | 3 | Ways to combine two or more heightfields. |
| Shape | 21 | Filters and deformations of one heightfield. Most take an optional mask that limits where they apply. |
| Simulate | 18 | Erosion, weathering, glaciers, geology and snow. These are the expensive nodes, and the ones the GPU speeds up. |
| Water | 11 | Rivers, lakes, drainage, floodplains and coast. |
| Select | 17 | Nodes that turn a heightfield into a mask, or combine masks. Several of these feed biome rules and paint layers. |
| Color | 7 | Colour and packed-data outputs for materials. They do not change the terrain. |
| Export | 1 | The node whose terrain becomes the build output. |
Generate
Nodes with no terrain input: a starting heightfield from a file, noise, a ramp or a constant.
Imported heightfield
Type HeightfieldFile.
Load a local grayscale PNG/TIFF or square little-endian R16. Explicit decoding preserves elevations. Sources are embedded in saved projects and exports.
- Inputs: none
- Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Source image asset | none | a raster embedded in the definition |
Height decoding encoding | normalized | normalized, unreal, metres, range |
Encoded zero (m) low | -500 | -10000 to 20000, step 50 |
Encoded one (m) high | 3000 | -10000 to 20000, step 50 |
Fit to world fit | stretch | stretch, crop |
Resampling sampling | linear | linear, nearest |
Flip east / west flipX | off | on or off |
Flip north / south flipY | off | on or off |
Fractal noise
Type Noise.
FastNoise Lite noise in world metres. Seed offset adds to the world seed.
- Inputs: none
- Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Noise basis algorithm | simplex | simplex, perlin, cellular |
Fractal fractal | ridged | fbm, ridged, billow |
Feature size (m) scale | 3600 | 50 to 100000, step 100 |
Relief (m) height | 1500 | 0 to 10000, step 50 |
Base elevation (m) base | 250 | -5000 to 10000, step 50 |
Octaves octaves | 6 | whole numbers 1 to 10 |
Persistence gain | 0.48 | 0.05 to 0.95, step 0.01 |
Lacunarity lacunarity | 2 | 1.1 to 4, step 0.1 |
Seed offset seed | 0 | whole numbers 0 to 1000000 |
Authored landforms
Type Layout.
Existing ranges, peaks and basins from the recipe. Edit their coordinates in the project JSON.
- Inputs: none
- Outputs:
terrain(elevation)
No parameters.
Constant height
Type Constant.
A flat elevation field in metres.
- Inputs: none
- Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Elevation (m) height | 0 | -5000 to 15000, step 50 |
Linear gradient
Type Gradient.
A ramp with a world-space direction and elevation range.
- Inputs: none
- Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Low elevation (m) low | 100 | -5000 to 15000, step 50 |
High elevation (m) high | 1200 | -5000 to 15000, step 50 |
Direction (°) angle | 90 | -360 to 360, step 5 |
Landforms
Placed features in world metres: ranges, peaks, canyons, volcanoes, islands, dunes, plateaus, lava and rock strata.
Mountain
Type Mountain.
Place a mountain with a compact footprint. Natural starts with broad divides, rounded crests and limited fine-scale relief. Alpine and Massif retain their exaggerated profiles. Follow with Geologic weathering for channels and deposition.
- Inputs: none
- Outputs:
terrain(elevation),footprint(mask)
| Parameter | Default | Allowed |
|---|---|---|
Centre X (m) x | 0 | -100000 to 100000, step 100 |
Centre Y (m) y | 0 | -100000 to 100000, step 100 |
Rotation (°) angle | 0 | -360 to 360, step 5 |
Base elevation (m) base | 0 | -5000 to 10000, step 50 |
Relief (m) height | 1200 | 0 to 10000, step 50 |
Seed offset seed | 0 | whole numbers 0 to 1000000 |
Radius (m) radius | 3000 | 20 to 100000, step 100 |
Roughness roughness | 0.35 | 0 to 1, step 0.05 |
Profile styleNew nodes start at radial; saved graphs keep the default. | natural | natural, alpine, rounded, stratified, massif, radial |
Bulk bulk | 1.1 | 0.3 to 3, step 0.1 |
Aspect ratio aspect | 1 | 0.2 to 5, step 0.1 |
Mountain range
Type MountainRange.
A positioned, winding chain of peaks with controllable length, width and direction.
- Inputs:
upliftMask(mask, optional),erodibility(mask, optional),outlets(mask, optional) - Outputs:
terrain(elevation),footprint(mask),crest(mask),valleys(mask),cirques(mask),drainage(mask),channels(mask),ridges(mask),uplift(mask),age(mask)
| Parameter | Default | Allowed |
|---|---|---|
Centre X (m) x | 0 | -100000 to 100000, step 100 |
Centre Y (m) y | 0 | -100000 to 100000, step 100 |
Rotation (°) angle | 0 | -360 to 360, step 5 |
Base elevation (m) base | 0 | -5000 to 10000, step 50 |
Relief (m) height | 1100 | 0 to 10000, step 50 |
Seed offset seed | 0 | whole numbers 0 to 1000000 |
Length (m) length | 6000 | 100 to 100000, step 100 |
Half width (m) width | 2200 | 20 to 20000, step 100 |
Peak count peaks | 5 | whole numbers 2 to 30 |
Winding bend | 0.25 | 0 to 1, step 0.05 |
Roughness roughness | 0.35 | 0 to 1, step 0.05 |
Style styleNew nodes start at uplift; saved graphs keep the default. | legacy | legacy, ridgeTree, uplift |
Range ends termination | fade | fade, hook, split, plunge |
End taper (of length) endTaper | 0.2 | 0.02 to 0.5, step 0.01 |
Hook angle (°) endTurn | 60 | 0 to 120, step 5 |
Side ranges branches | 2 | whole numbers 0 to 6 |
Crest variation crestVariation | 0.5 | 0 to 1, step 0.05 |
Crest wavelength (m) crestWavelength | 2500 | 200 to 50000, step 100 |
Col depth cols | 0.3 | 0 to 1, step 0.05 |
Spur spacing (x half width) spurSpacing | 0.6 | 0.2 to 3, step 0.05 |
Spur length (x half width) spurLength | 1 | 0.2 to 1.5, step 0.05 |
Spur angle (°) spurAngle | 60 | 20 to 85, step 5 |
Sub-spurs subSpurs | 0.5 | 0 to 1, step 0.05 |
Flank concavity profileConcavity | 0.5 | 0 to 1, step 0.05 |
Flank asymmetry asymmetry | 0.3 | -0.8 to 0.8, step 0.05 |
Crest sharpness crestSharpness | 0.6 | 0 to 1, step 0.05 |
Cirques cirques | 0 | 0 to 1, step 0.05 |
Cirque aspect (° from north) cirqueAspect | 0 | 0 to 360, step 15 |
Domain warp (x half width) warp | 0.22 | 0 to 0.5, step 0.01 |
Map edge clipMode | fade | fade, turn, allow |
Edge margin (m) edgeMargin | 500 | 0 to 20000, step 50 |
Uplift profile exponent profile | 2 | 1 to 3, step 0.1 |
Valley concavity (m) concavity | 0.45 | 0.3 to 0.7, step 0.01 |
Channel head area (m²) channelHead | 20000 | 1000 to 1000000, step 1000 |
Routing exponent routingRandomness | 2 | 0.3 to 8, step 0.1 |
Age (0 = steady state) age | 0 | 0 to 1, step 0.05 |
Rock variation rockVariation | 0.5 | 0 to 1, step 0.05 |
Rock scale (m) rockScale | 800 | 50 to 20000, step 50 |
Hillslope rounding steps ridgeRounding | 12 | whole numbers 0 to 32 |
Max slope (°, 0 = off) maxSlope | 40 | 0 to 70, step 1 |
Foothill uplift foothills | 0.03 | 0 to 0.3, step 0.01 |
Drainage at map edge edgePolicy | continue | continue, outlet, recipe |
Padding (of map size) pad | 0.125 | 0 to 0.5, step 0.025 |
Ensemble draws ensemble | 2 | whole numbers 1 to 4 |
Drawn range
Type DrawRange.
Draw a ridgeline in the layout view. Point coordinates are world metres; centre and rotation transform the path.
- Inputs:
upliftMask(mask, optional),erodibility(mask, optional),outlets(mask, optional) - Outputs:
terrain(elevation),footprint(mask),crest(mask),valleys(mask),cirques(mask),drainage(mask),channels(mask),ridges(mask),uplift(mask),age(mask)
| Parameter | Default | Allowed |
|---|---|---|
Centre X (m) x | 0 | -100000 to 100000, step 100 |
Centre Y (m) y | 0 | -100000 to 100000, step 100 |
Rotation (°) angle | 0 | -360 to 360, step 5 |
Base elevation (m) base | 0 | -5000 to 10000, step 50 |
Relief (m) height | 1200 | 0 to 10000, step 50 |
Seed offset seed | 0 | whole numbers 0 to 1000000 |
Half width (m) width | 850 | 10 to 20000, step 50 |
Roughness roughness | 0.35 | 0 to 1, step 0.05 |
Control points points | 3 points | 2 to 64 points in world metres |
Style styleNew nodes start at uplift; saved graphs keep the default. | legacy | legacy, ridgeTree, uplift |
Range ends termination | fade | fade, hook, split, plunge |
End taper (of length) endTaper | 0.2 | 0.02 to 0.5, step 0.01 |
Hook angle (°) endTurn | 60 | 0 to 120, step 5 |
Side ranges branches | 2 | whole numbers 0 to 6 |
Crest variation crestVariation | 0.5 | 0 to 1, step 0.05 |
Crest wavelength (m) crestWavelength | 2500 | 200 to 50000, step 100 |
Col depth cols | 0.3 | 0 to 1, step 0.05 |
Spur spacing (x half width) spurSpacing | 0.6 | 0.2 to 3, step 0.05 |
Spur length (x half width) spurLength | 1 | 0.2 to 1.5, step 0.05 |
Spur angle (°) spurAngle | 60 | 20 to 85, step 5 |
Sub-spurs subSpurs | 0.5 | 0 to 1, step 0.05 |
Flank concavity profileConcavity | 0.5 | 0 to 1, step 0.05 |
Flank asymmetry asymmetry | 0.3 | -0.8 to 0.8, step 0.05 |
Crest sharpness crestSharpness | 0.6 | 0 to 1, step 0.05 |
Cirques cirques | 0 | 0 to 1, step 0.05 |
Cirque aspect (° from north) cirqueAspect | 0 | 0 to 360, step 15 |
Domain warp (x half width) warp | 0.22 | 0 to 0.5, step 0.01 |
Map edge clipMode | fade | fade, turn, allow |
Edge margin (m) edgeMargin | 500 | 0 to 20000, step 50 |
Uplift profile exponent profile | 2 | 1 to 3, step 0.1 |
Valley concavity (m) concavity | 0.45 | 0.3 to 0.7, step 0.01 |
Channel head area (m²) channelHead | 20000 | 1000 to 1000000, step 1000 |
Routing exponent routingRandomness | 2 | 0.3 to 8, step 0.1 |
Age (0 = steady state) age | 0 | 0 to 1, step 0.05 |
Rock variation rockVariation | 0.5 | 0 to 1, step 0.05 |
Rock scale (m) rockScale | 800 | 50 to 20000, step 50 |
Hillslope rounding steps ridgeRounding | 12 | whole numbers 0 to 32 |
Max slope (°, 0 = off) maxSlope | 40 | 0 to 70, step 1 |
Foothill uplift foothills | 0.03 | 0 to 0.3, step 0.01 |
Drainage at map edge edgePolicy | continue | continue, outlet, recipe |
Padding (of map size) pad | 0.125 | 0 to 0.5, step 0.025 |
Ensemble draws ensemble | 2 | whole numbers 1 to 4 |
Canyon
Type Canyon.
An authored canyon path with a graded floor. Geologic walls add irregular alcoves, buttresses and sampling-aware strata. Layered preserves the original profile. Points run upstream to downstream.
- Inputs: none
- Outputs:
terrain(elevation),footprint(mask)
| Parameter | Default | Allowed |
|---|---|---|
Centre X (m) x | 0 | -100000 to 100000, step 100 |
Centre Y (m) y | 0 | -100000 to 100000, step 100 |
Rotation (°) angle | 0 | -360 to 360, step 5 |
Plateau elevation (m) base | 1600 | -5000 to 15000, step 50 |
Wall style style | geologic | layered, geologic |
Canyon depth (m) depth | 650 | 1 to 5000, step 25 |
Valley half width (m) width | 1500 | 10 to 20000, step 50 |
Floor half width (m) slot | 160 | 1 to 5000, step 10 |
Floor drop (m) drop | 180 | 0 to 3000, step 10 |
Strata height (m) strata | 65 | 0 to 500, step 5 |
Roughness roughness | 0.35 | 0 to 1, step 0.05 |
Geologic formation scale (m) formation | 700 | 20 to 10000, step 25 |
Geologic layer irregularity strataVariation | 0.6 | 0 to 1, step 0.05 |
Seed offset seed | 0 | whole numbers 0 to 1000000 |
Control points points | 4 points | 2 to 64 points in world metres |
Volcano
Type Volcano.
A placed volcanic cone with a caldera, radial ridges and an irregular rim.
- Inputs: none
- Outputs:
terrain(elevation),footprint(mask)
| Parameter | Default | Allowed |
|---|---|---|
Centre X (m) x | 0 | -100000 to 100000, step 100 |
Centre Y (m) y | 0 | -100000 to 100000, step 100 |
Rotation (°) angle | 0 | -360 to 360, step 5 |
Base elevation (m) base | 0 | -5000 to 10000, step 50 |
Relief (m) height | 1200 | 0 to 10000, step 50 |
Seed offset seed | 0 | whole numbers 0 to 1000000 |
Radius (m) radius | 1800 | 20 to 100000, step 100 |
Roughness roughness | 0.35 | 0 to 1, step 0.05 |
Caldera radius / cone caldera | 0.2 | 0.03 to 0.7, step 0.01 |
Caldera depth (m) depth | 300 | 0 to 5000, step 25 |
Rim relief (m) rim | 110 | 0 to 2000, step 10 |
Style style | legacy | legacy, cinder, strato, shield |
Age (kyr, 0 = fresh) age | 0 | 0 to 5000, step 10 |
Erodibility K erodibility | 0.000002 | 1e-8 to 0.0001, step 1e-7 |
Hillslope diffusion (m²/yr) diffusion | 0.005 | 0 to 1, step 0.001 |
Ring fault step (m) ringFault | 0 | 0 to 2000, step 10 |
Erosion spacing (m, 0 = auto) erosionSpacing | 0 | 0 to 500, step 1 |
Impact crater
Type Crater.
An impact bowl with a raised rim, rough ejecta apron and optional central rebound.
- Inputs: none
- Outputs:
terrain(elevation),footprint(mask)
| Parameter | Default | Allowed |
|---|---|---|
Centre X (m) x | 0 | -100000 to 100000, step 100 |
Centre Y (m) y | 0 | -100000 to 100000, step 100 |
Rotation (°) angle | 0 | -360 to 360, step 5 |
Base elevation (m) base | 0 | -5000 to 10000, step 50 |
Seed offset seed | 0 | whole numbers 0 to 1000000 |
Radius (m) radius | 1800 | 20 to 100000, step 100 |
Roughness roughness | 0.35 | 0 to 1, step 0.05 |
Bowl depth (m) depth | 260 | 0 to 5000, step 25 |
Rim relief (m) rim | 180 | 0 to 3000, step 10 |
Central rebound rebound | 0.2 | 0 to 1, step 0.05 |
Island
Type Island.
Draw a closed landmass outline. Coast breakup and inland ridges stay inside its feathered footprint.
- Inputs: none
- Outputs:
terrain(elevation),footprint(mask)
| Parameter | Default | Allowed |
|---|---|---|
Centre X (m) x | 0 | -100000 to 100000, step 100 |
Centre Y (m) y | 0 | -100000 to 100000, step 100 |
Rotation (°) angle | 0 | -360 to 360, step 5 |
Base elevation (m) base | 0 | -5000 to 10000, step 50 |
Relief (m) height | 1200 | 0 to 10000, step 50 |
Seed offset seed | 0 | whole numbers 0 to 1000000 |
Coast transition (m) coast | 700 | 10 to 10000, step 50 |
Roughness roughness | 0.35 | 0 to 1, step 0.05 |
Control points points | 6 points | 3 to 64 points in world metres, a closed outline |
Ridges follow island size islandScaleNew nodes start at true; saved graphs keep the default. | off | on or off |
Dune field
Type Dunes.
Wind-oriented asymmetrical dunes, with curved crests, spacing and relief controls.
- Inputs: none
- Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Centre X (m) x | 0 | -100000 to 100000, step 100 |
Centre Y (m) y | 0 | -100000 to 100000, step 100 |
Rotation (°) angle | 0 | -360 to 360, step 5 |
Base elevation (m) base | 0 | -5000 to 10000, step 50 |
Relief (m) height | 100 | 0 to 10000, step 10 |
Seed offset seed | 0 | whole numbers 0 to 1000000 |
Crest spacing (m) spacing | 480 | 20 to 10000, step 20 |
Crest variation chaos | 0.4 | 0 to 1, step 0.05 |
Slip-face bias sharpness | 0.7 | 0.1 to 0.95, step 0.05 |
Plateau
Type Plateau.
A positioned mesa with a broad top, broken escarpment and adjustable wall slope.
- Inputs:
strata(mask, optional),outlets(mask, optional) - Outputs:
terrain(elevation),footprint(mask),canyons(mask)
| Parameter | Default | Allowed |
|---|---|---|
Centre X (m) x | 0 | -100000 to 100000, step 100 |
Centre Y (m) y | 0 | -100000 to 100000, step 100 |
Rotation (°) angle | 0 | -360 to 360, step 5 |
Base elevation (m) base | 0 | -5000 to 10000, step 50 |
Relief (m) height | 1200 | 0 to 10000, step 50 |
Seed offset seed | 0 | whole numbers 0 to 1000000 |
Radius (m) radius | 1800 | 20 to 100000, step 100 |
Roughness roughness | 0.35 | 0 to 1, step 0.05 |
Top width / radius top | 0.65 | 0.1 to 0.95, step 0.05 |
Aspect ratio aspect | 1.4 | 0.2 to 5, step 0.1 |
Style style | legacy | legacy, canyonlands |
Dissection (age, 0-1) age | 0.3 | 0 to 1, step 0.05 |
Concavity m/n concavity | 0.45 | 0.2 to 0.8, step 0.05 |
Channel head area (m²) channelHead | 20000 | 100 to 10000000, step 1000 |
Steepest wall (°) wallSlope | 80 | 20 to 89, step 1 |
Canyon floor half width (m) floorWidth | 40 | 0 to 2000, step 5 |
Drainage iterations iterations | 3 | whole numbers 1 to 12 |
Lava flows
Type LavaFlow.
Lava flows from vents run down the terrain one after another: each follows a wandering steepest descent, fills the valleys it runs in and stops at its length or where the ground flattens, as a flat-topped lobe with steep margins, levees and a rounded snout. Outputs lava thickness and relative flow age for materials.
- Inputs:
terrain(elevation),vents(mask, optional) - Outputs:
terrain(elevation),lava(mask),flowAge(mask)
| Parameter | Default | Allowed |
|---|---|---|
Vent centre X (m) x | 0 | -100000 to 100000, step 100 |
Vent centre Y (m) y | 0 | -100000 to 100000, step 100 |
Vent ring radius (m) ventRadius | 400 | 0 to 50000, step 50 |
Flows flows | 8 | whole numbers 1 to 200 |
Flow length (m) length | 5000 | 100 to 100000, step 100 |
Flow width (m) width | 150 | 10 to 2000, step 10 |
Flow thickness (m) thickness | 10 | 0.5 to 100, step 0.5 |
Levee height / thickness levee | 0.2 | 0 to 1, step 0.05 |
Stopping slope (°) minSlope | 1 | 0 to 20, step 0.5 |
Path slope exponent routingExponent | 4 | 0.5 to 12, step 0.5 |
Seed offset seed | 0 | whole numbers 0 to 1000000 |
Strata (rock layers)
Type Strata.
Layered rock: a dipping, folded stack of beds with an erodibility and a critical slope per layer. Feed resistance into Landform or StreamPower (set their resistance contrast to 1), or connect any output to Plateau (canyonlands) so the layers are re-evaluated as the rock is cut: hard beds stand as cliffs and ledges, soft beds as slopes. Flat beds give mesas and stepped canyons, 5-30 degrees cuestas, steeper hogbacks.
- Inputs:
terrain(elevation, optional) - Outputs:
resistance(mask),erodibility(mask),criticalSlope(mask),layerId(mask)
| Parameter | Default | Allowed |
|---|---|---|
Rock sequence sequence | canyonlands | canyonlands, cuesta, badlands, alternating, granite |
Thickness scale thickness | 1 | 0.05 to 20, step 0.05 |
Hardness contrast contrast | 1 | 0 to 1, step 0.05 |
Top of sequence at centre (m) datum | 0 | -10000 to 10000, step 10 |
Dip (°) dip | 0 | 0 to 80, step 1 |
Dip direction (°, beds descend towards) dipDirection | 0 | -360 to 360, step 5 |
Fold amplitude (m) foldAmplitude | 0 | 0 to 5000, step 10 |
Fold wavelength (m) foldWavelength | 4000 | 100 to 100000, step 100 |
Fold axis direction (°) foldAngle | 90 | -360 to 360, step 5 |
Bed warp (m) warp | 0 | 0 to 2000, step 5 |
Warp scale (m) warpScale | 2500 | 50 to 100000, step 50 |
Bed thickness jitter jitter | 0.5 | 0 to 1, step 0.05 |
Seed seed | 0 | whole numbers 0 to 1000000 |
Layer
Ways to combine two or more heightfields.
Combine terrain
Type Combine.
Blend two heightfields with 24 mathematical modes. Nonlinear modes use the reference elevation as 1.0; mix/add/subtract/min/max preserve metres. Separation identifies the top layer's contribution.
- Inputs:
a(elevation),b(elevation),mask(mask, optional) - Outputs:
terrain(elevation),separation(mask)
| Parameter | Default | Allowed |
|---|---|---|
Operation mode | mix | mix, add, subtract, difference, multiply, divide, divide_offset, screen, max, min, hypotenuse, overlay, power, exclusion, dodge, burn, soft_light, hard_light, pin_light, grain_merge, grain_extract, reflect, glow, phoenix |
Blend amount | 0.5 | 0 to 1, step 0.01 |
Reference elevation (m) range | 2500 | 1 to 20000, step 100 |
Output range output | unbounded | unbounded, clamp, normalize |
Separation where both layers agree separationTieNew nodes start at blend; saved graphs keep the default. | zero | zero, blend |
Layer stack
Type Layers.
Seven ordered terrain layers, each with a blend mode, opacity and optional mask. Reorder layers in the inspector; unconnected layers are skipped.
- Inputs:
terrain(elevation),layer1(elevation, optional),mask1(mask, optional),layer2(elevation, optional),mask2(mask, optional),layer3(elevation, optional),mask3(mask, optional),layer4(elevation, optional),mask4(mask, optional),layer5(elevation, optional),mask5(mask, optional),layer6(elevation, optional),mask6(mask, optional),layer7(elevation, optional),mask7(mask, optional) - Outputs:
terrain(elevation),coverage(mask)
| Parameter | Default | Allowed |
|---|---|---|
Reference elevation (m) range | 2500 | 1 to 20000, step 100 |
Layer order order | 1, 2, 3, 4, 5, 6, 7 | an order of the layers |
Layer 1 · Blend mode mode1 | max | mix, add, subtract, difference, multiply, divide, divide_offset, screen, max, min, hypotenuse, overlay, power, exclusion, dodge, burn, soft_light, hard_light, pin_light, grain_merge, grain_extract, reflect, glow, phoenix |
Layer 1 · Opacity opacity1 | 1 | 0 to 1, step 0.05 |
Layer 1 · Enabled enabled1 | on | on or off |
Layer 2 · Blend mode mode2 | max | mix, add, subtract, difference, multiply, divide, divide_offset, screen, max, min, hypotenuse, overlay, power, exclusion, dodge, burn, soft_light, hard_light, pin_light, grain_merge, grain_extract, reflect, glow, phoenix |
Layer 2 · Opacity opacity2 | 1 | 0 to 1, step 0.05 |
Layer 2 · Enabled enabled2 | on | on or off |
Layer 3 · Blend mode mode3 | max | mix, add, subtract, difference, multiply, divide, divide_offset, screen, max, min, hypotenuse, overlay, power, exclusion, dodge, burn, soft_light, hard_light, pin_light, grain_merge, grain_extract, reflect, glow, phoenix |
Layer 3 · Opacity opacity3 | 1 | 0 to 1, step 0.05 |
Layer 3 · Enabled enabled3 | on | on or off |
Layer 4 · Blend mode mode4 | max | mix, add, subtract, difference, multiply, divide, divide_offset, screen, max, min, hypotenuse, overlay, power, exclusion, dodge, burn, soft_light, hard_light, pin_light, grain_merge, grain_extract, reflect, glow, phoenix |
Layer 4 · Opacity opacity4 | 1 | 0 to 1, step 0.05 |
Layer 4 · Enabled enabled4 | on | on or off |
Layer 5 · Blend mode mode5 | max | mix, add, subtract, difference, multiply, divide, divide_offset, screen, max, min, hypotenuse, overlay, power, exclusion, dodge, burn, soft_light, hard_light, pin_light, grain_merge, grain_extract, reflect, glow, phoenix |
Layer 5 · Opacity opacity5 | 1 | 0 to 1, step 0.05 |
Layer 5 · Enabled enabled5 | on | on or off |
Layer 6 · Blend mode mode6 | max | mix, add, subtract, difference, multiply, divide, divide_offset, screen, max, min, hypotenuse, overlay, power, exclusion, dodge, burn, soft_light, hard_light, pin_light, grain_merge, grain_extract, reflect, glow, phoenix |
Layer 6 · Opacity opacity6 | 1 | 0 to 1, step 0.05 |
Layer 6 · Enabled enabled6 | on | on or off |
Layer 7 · Blend mode mode7 | max | mix, add, subtract, difference, multiply, divide, divide_offset, screen, max, min, hypotenuse, overlay, power, exclusion, dodge, burn, soft_light, hard_light, pin_light, grain_merge, grain_extract, reflect, glow, phoenix |
Layer 7 · Opacity opacity7 | 1 | 0 to 1, step 0.05 |
Layer 7 · Enabled enabled7 | on | on or off |
Switch terrain
Type Switch.
Choose one of two heightfields. Both branches are validated; cached evaluations are reused.
- Inputs:
a(elevation),b(elevation) - Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Use input B useB | off | on or off |
Shape
Filters and deformations of one heightfield. Most take an optional mask that limits where they apply.
Domain warp
Type Warp.
Bend terrain coordinates with two coherent noise fields; amplitude is measured in metres.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Displacement (m) amount | 550 | 0 to 10000, step 25 |
Feature size (m) scale | 2200 | 50 to 100000, step 100 |
Seed offset seed | 17 | whole numbers 0 to 1000000 |
Smooth
Type Smooth.
Gaussian smoothing with a radius in world metres.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Radius (m) radius | 60 | 0 to 2000, step 5 |
Strength amount | 1 | 0 to 1, step 0.01 |
Compute computeRuntime only: chooses the device, not the result. | auto | auto, cpu, gpu |
Terrace
Type Terrace.
Create strata at fixed height intervals. Softness rounds each step.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Step height (m) spacing | 90 | 1 to 2000, step 5 |
Softness softness | 0.18 | 0.01 to 1, step 0.01 |
Strength amount | 1 | 0 to 1, step 0.01 |
Remap elevation
Type Remap.
Fit the incoming height range to a new range, with an optional curve.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Low elevation (m) low | 200 | -5000 to 15000, step 50 |
High elevation (m) high | 1900 | -5000 to 15000, step 50 |
Curve curve | 1 | 0.1 to 5, step 0.05 |
Transform
Type Transform.
Translate, rotate and stretch a heightfield in world units. Outside pixels use the fill elevation.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Centre X (m) x | 0 | -100000 to 100000, step 100 |
Centre Y (m) y | 0 | -100000 to 100000, step 100 |
Rotation (°) angle | 0 | -360 to 360, step 5 |
Scale X scaleX | 1 | 0.05 to 10, step 0.05 |
Scale Y scaleY | 1 | 0.05 to 10, step 0.05 |
Height scale heightScale | 1 | 0 to 10, step 0.05 |
Vertical offset (m) offsetZ | 0 | -10000 to 10000, step 25 |
Outside elevation (m) fill | 0 | -5000 to 15000, step 25 |
Outside sampling edges | fill | fill, reflect, repeat |
Stratified rock
Type Stratify.
Uneven seeded layers with local folds, tilt and controllable ledges. Unresolved bands fade out on coarse grids. The ledges output selects flattened portions, not rock material types.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation),ledges(mask)
| Parameter | Default | Allowed |
|---|---|---|
Layer spacing (m) spacing | 110 | 2 to 2000, step 5 |
Layer irregularity variation | 0.5 | 0 to 1, step 0.05 |
Ledge sharpness sharpness | 0.65 | 0 to 1, step 0.05 |
Formation scale (m) scale | 650 | 10 to 20000, step 50 |
Layer tilt (°) tilt | 0 | -25 to 25, step 1 |
Tilt direction (°) direction | 0 | -360 to 360, step 5 |
Fold octaves octaves | 3 | whole numbers 1 to 6 |
Seed offset seed | 0 | whole numbers 0 to 1000000 |
Strength amount | 1 | 0 to 1, step 0.05 |
Clamp elevations
Type Clamp.
Limit terrain to a fixed elevation interval. Optional mask blends the clipped result.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Low elevation (m) low | 0 | -5000 to 15000, step 25 |
High elevation (m) high | 1800 | -5000 to 15000, step 25 |
Flip terrain
Type Flip.
Mirror the heightfield across either world axis.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Mirror axis axis | x | x, y, both |
Median filter
Type Median.
Remove isolated spikes with a bounded median kernel. Radius is measured in world metres; the kernel is capped at 51 samples.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Radius (m) radius | 60 | 0 to 3000, step 10 |
Sharpen terrain
Type Sharpen.
Unsharp masking adds local relief relative to a smoothed surface.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Radius (m) radius | 100 | 0 to 3000, step 10 |
Strength amount | 1 | 0 to 3, step 0.05 |
Equalize heights
Type Equalize.
Redistribute the elevation histogram while preserving its endpoints. Blend strength controls contrast.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Strength amount | 0.5 | 0 to 1, step 0.05 |
Profile curve
Type Curve.
Shape elevation using five control values and monotone cubic interpolation between them. Input can be relative to the terrain or a fixed range.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Input range mode | relative | relative, absolute |
Low elevation (m) low | 0 | -5000 to 15000, step 25 |
High elevation (m) high | 1800 | -5000 to 15000, step 25 |
At 0% input y0 | 0 | 0 to 1, step 0.05 |
At 25% input y1 | 0.25 | 0 to 1, step 0.05 |
At 50% input y2 | 0.5 | 0 to 1, step 0.05 |
At 75% input y3 | 0.75 | 0 to 1, step 0.05 |
At 100% input y4 | 1 | 0 to 1, step 0.05 |
Variable blur
Type VariableBlur.
A guide mask interpolates four Gaussian scales: black preserves detail, white applies the full radius.
- Inputs:
terrain(elevation),mask(mask, optional),guide(mask) - Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Radius (m) radius | 250 | 0 to 3000, step 10 |
Directional warp
Type DirectionalWarp.
A height guide displaces sampling along one direction. Guide elevation / reference controls signed displacement.
- Inputs:
terrain(elevation),mask(mask, optional),guide(elevation) - Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Displacement (m) amount | 250 | -10000 to 10000, step 25 |
Direction (°) angle | 0 | -360 to 360, step 5 |
Guide reference (m) reference | 2500 | 1 to 20000, step 100 |
Slope warp
Type SlopeWarp.
Move terrain sampling along the guide gradient. The displacement is bounded and measured in metres.
- Inputs:
terrain(elevation),mask(mask, optional),guide(elevation) - Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Displacement (m) amount | 250 | -10000 to 10000, step 25 |
Radius (m) radius | 60 | 0 to 3000, step 10 |
Expand / contract
Type Morphology.
A local maximum expands high ground; a local minimum contracts it. Uses a square footprint capped at 101 samples.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Operation mode | expand | expand, contract |
Radius (m) radius | 100 | 0 to 3000, step 10 |
Fade borders
Type EdgeFade.
Bring height toward a chosen elevation along the world boundary.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Border width (m) width | 700 | 1 to 50000, step 50 |
Edge elevation (m) elevation | 0 | -5000 to 15000, step 25 |
Repeat terrain
Type Repeat.
Repeat an upstream tile across the domain. Use Seamless first to align opposite boundaries.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Tiles X countX | 2 | whole numbers 1 to 16 |
Tiles Y countY | 2 | whole numbers 1 to 16 |
Match tile edges
Type Seamless.
Blend opposite borders to matching elevations for repeating tiles. Border values match; matching derivatives is not guaranteed.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Blend width / world width | 0.15 | 0.01 to 0.5, step 0.01 |
Slope blur
Type SlopeBlur.
Blur along the downslope direction only. Smooths noise and steps into continuous, flowing slopes while gullies and spurs across the slope stay sharp; crests are protected. Distances are in world metres, so previews and builds match.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation)
| Parameter | Default | Allowed |
|---|---|---|
Blur length (m) radius | 60 | 0 to 2000, step 5 |
Strength amount | 1 | 0 to 1, step 0.01 |
Protect crests ridges | 0.8 | 0 to 1, step 0.05 |
Direction smoothing (m) measureScale | 30 | 0 to 2000, step 5 |
Fade below slope (°) minSlope | 3 | 0 to 45, step 0.5 |
Upscale detail
Type Upscale.
Make a coarse simulation or a coarse imported heightfield look detailed at the graph resolution. Re-samples the input at its source spacing, rebuilds a smooth surface through those samples (no bilinear facets or grid), then adds flow-aligned gullies and roughness below twice the source spacing, down to the target spacing. Detail follows slope and curvature and stays off flats, lakes and the ring around small lakes; gullies start only at channel heads.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation),gullies(mask),ridges(mask)
| Parameter | Default | Allowed |
|---|---|---|
Source spacing (m) sourceSpacing | 32 | 0 to 1000, step 1 |
Reconstruction interpolation | Spline | Spline, CatmullRom |
Detail depth (m) detail | 4 | 0 to 200, step 0.5 |
Detail exponent roughness | 1.2 | 0.5 to 1.5, step 0.05 |
Octaves octaves | 5 | whole numbers 1 to 8 |
Flow-aligned share erosion | 0.8 | 0 to 1, step 0.05 |
Branching branching | 0.5 | 0 to 1, step 0.05 |
Sharpness sharpness | 0.4 | 0 to 1, step 0.05 |
Hollow emphasis curvature | 0.5 | 0 to 1, step 0.05 |
Detail starts at slope (deg) slopeStart | 4 | 0 to 80, step 1 |
Full detail at slope (deg) slopeEnd | 30 | 1 to 89, step 1 |
Target spacing (m, 0 = grid) finestSpacing | 0 | 0 to 100, step 0.5 |
Seed seed | 0 | whole numbers 0 to 1000000 |
Channel head threshold (m, 0 = off) channelThreshold | 20 | 0 to 1000, step 1 |
Lake ring (lake radii, 0 = off) lakeFade | 3 | 0 to 6, step 0.5 |
Simulate
Erosion, weathering, glaciers, geology and snow. These are the expensive nodes, and the ones the GPU speeds up.
Stream erosion
Type Erosion.
Stream-power incision and hillslope diffusion. Wear is removed height, normalized to a mask.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation),wear(mask)
| Parameter | Default | Allowed |
|---|---|---|
Duration (years) years | 25000 | 0 to 100000, step 1000 |
Steps steps | 35 | whole numbers 1 to 100 |
Erodibility erodibility | 0.0001 | 0 to 0.002, step 0.00001 |
Diffusion (m²/year) diffusion | 0.08 | 0 to 1, step 0.01 |
Thermal erosion
Type Thermal.
Move material down slopes above the talus angle. Closed edges conserve material; a mask blends the result.
- Inputs:
terrain(elevation),mask(mask, optional),resistance(mask, optional) - Outputs:
terrain(elevation),deposition(mask),wear(mask)
| Parameter | Default | Allowed |
|---|---|---|
Talus angle (°) angle | 32 | 1 to 85, step 1 |
Iterations steps | 35 | whole numbers 1 to 200 |
Transport rate rate | 0.3 | 0.01 to 0.5, step 0.01 |
Solver solverNew nodes start at converge; saved graphs keep the default. | iterations | iterations, converge |
Settle tolerance (°) tolerance | 0.5 | 0.05 to 5, step 0.05 |
Settling amount relaxation | 1 | 0 to 1, step 0.05 |
Resistant rock angle (°) rockAngle | 70 | 1 to 89, step 1 |
Hydraulic erosion
Type Hydraulic.
Continuous droplet paths erode and transport sediment. Closed boundaries return all carried material; open boundaries report discharged load. Mask limits mobility; rainfall controls droplet origins. White resistance blocks erosion while still permitting deposition.
- Inputs:
terrain(elevation),mask(mask, optional),rainfall(mask, optional),resistance(mask, optional) - Outputs:
terrain(elevation),wear(mask),deposition(mask),flow(mask)
| Parameter | Default | Allowed |
|---|---|---|
Droplets particlesNew nodes start at 0; saved graphs keep the default. | 80000 | whole numbers 0 to 2000000 |
Maximum travel (steps) lifetime | 100 | whole numbers 4 to 300 |
Erosion radius (m) radiusNew nodes start at 2; saved graphs keep the default. | 80 | 1 to 2000, step 10 |
Rain strength rain | 0.1 | 0.001 to 2, step 0.01 |
Bedrock depth (m) maxDepth | 180 | 0 to 5000, step 10 |
Flow inertia inertia | 0.18 | 0 to 0.9, step 0.01 |
Sediment capacity capacity | 4 | 0.1 to 20, step 0.1 |
Erosion rate erosion | 0.3 | 0 to 1, step 0.01 |
Settling rate deposition | 0.3 | 0 to 1, step 0.01 |
Evaporation per step evaporation | 0.025 | 0.001 to 0.5, step 0.001 |
Sediment boundary boundary | closed | closed, open |
Rain seed offset seed | 0 | whole numbers 0 to 1000000 |
Execution executionNew nodes start at parallel; saved graphs keep the default. | serial | serial, parallel |
Droplets per cell densityNew nodes start at 0.5; saved graphs keep the default. | 0 | 0 to 8, step 0.05 |
Channel memory momentumNew nodes start at 0.4; saved graphs keep the default. | 0 | 0 to 1, step 0.05 |
Minimum slope (m/m) minSlope | 0.0001 | 0 to 0.5, step 0.0001 |
Start droplets off channels flowGuided | off | on or off |
Compute (parallel) computeRuntime only: chooses the device, not the result. | auto | auto, cpu, gpu |
Bedrock & alluvium
Type Sediment.
Stream power with alluvium (SPACE) transports loose sediment, erodes exposed bedrock and deposits material downstream. Optional soil creep and conversion share the same soil layer. White resistance protects bedrock, while existing soil remains mobile. A shared incision floor limits entrainment and creep without restoring removed material. Fixed outer heights with reported outlet sediment loss. Uncalibrated geological time, D8 routing.
- Inputs:
terrain(elevation),resistance(mask, optional),rainfall(mask, optional),soilDepth(elevation, optional) - Outputs:
terrain(elevation),bedrock(elevation),soilDepth(elevation),soil(mask),exposedRock(mask),wear(mask),deposition(mask),flow(mask)
| Parameter | Default | Allowed |
|---|---|---|
Evolution duration (years) years | 750 | 0 to 50000, step 250 |
Evolution steps steps | 40 | whole numbers 1 to 200 |
Maximum net incision (m) maxDepth | 20 | 0 to 5000, step 1 |
Bedrock erodibility rockErodibility | 0.00002 | 0 to 0.002, step 0.00001 |
Sediment erodibility sedimentErodibility | 0.0001 | 0 to 0.01, step 0.00005 |
Effective settling (m/year) settling | 1 | 0.001 to 100, step 0.1 |
Initial soil depth (m) initialSoil | 2 | 0 to 500, step 0.5 |
Soil shielding depth (m) coverDepth | 1 | 0.05 to 100, step 0.1 |
Soil diffusivity (m²/year) diffusion | 0.03 | 0 to 0.5, step 0.01 |
Bare-rock soil production (m/year) production | 0.001 | 0 to 0.01, step 0.0005 |
Soil critical slope (°) angle | 34 | 5 to 85, step 1 |
Soil mask white depth (m) soilRange | 10 | 0.01 to 1000, step 1 |
Rock cover fade depth (m) exposureDepth | 1 | 0.01 to 100, step 0.1 |
Net-change mask white depth (m) mapRange | 20 | 0.01 to 5000, step 1 |
Flow mask reference (m² at unit runoff) flowArea | 1000000 | 1 to 10000000000, step 10000 |
Soil & hillslope transport
Type Hillslope.
Weather bedrock into mobile soil, then move only that soil downhill. Depth-dependent creep rounds soil-covered divides and fills hollows while bare resistant rock stays exposed. Closed, paired fluxes conserve volume. White resistance prevents rock conversion, not transport of existing soil; black mask protects both layers. Art-directed process, not calibrated geological time.
- Inputs:
terrain(elevation),mask(mask, optional),resistance(mask, optional),soilDepth(elevation, optional) - Outputs:
terrain(elevation),bedrock(elevation),soilDepth(elevation),soil(mask),exposedRock(mask),wear(mask),deposition(mask)
| Parameter | Default | Allowed |
|---|---|---|
Transport iterations steps | 120 | whole numbers 1 to 500 |
Diffusive exposure (m²) diffusion | 1800 | 0 to 50000, step 100 |
Critical slope (°) angle | 34 | 5 to 85, step 1 |
Initial soil depth (m) initialSoil | 4 | 0 to 500, step 1 |
Bare-rock conversion budget (m) production | 12 | 0 to 500, step 1 |
Soil attenuation depth (m) decayDepth | 3 | 0.05 to 100, step 0.5 |
Available bedrock (m) rockDepth | 40 | 0 to 2000, step 5 |
Soil mask white depth (m) soilRange | 10 | 0.01 to 1000, step 1 |
Rock cover fade depth (m) exposureDepth | 1 | 0.01 to 100, step 0.1 |
Transport mask white depth (m) mapRange | 20 | 0.01 to 5000, step 1 |
Step control stepControlNew nodes start at adaptive; saved graphs keep the default. | fixed | fixed, adaptive |
Geologic weathering
Type Weathering.
Carve broad valleys, then gullies and fine channels. Transfers only erosion/deposition changes back to the original surface, preserving existing fine detail. Optional native-resolution protection and rainfall masks; bounded total incision and conservative material accounting. CPU art-directed model, not calibrated geophysics.
- Inputs:
terrain(elevation),mask(mask, optional),rainfall(mask, optional),resistance(mask, optional) - Outputs:
terrain(elevation),wear(mask),deposition(mask),flow(mask)
| Parameter | Default | Allowed |
|---|---|---|
Valley scale (m) scale | 256 | 16 to 4000, step 16 |
Valley weathering valleys | 1 | 0 to 2, step 0.05 |
Gully weathering gullies | 1 | 0 to 2, step 0.05 |
Fine weathering surface | 0.5 | 0 to 2, step 0.05 |
Particle density quality | 1 | 0.1 to 2, step 0.1 |
Total incision limit (m) maxDepth | 300 | 0 to 2000, step 10 |
Talus angle (°) angle | 34 | 1 to 85, step 1 |
Talus settling steps talusSteps | 65 | whole numbers 0 to 150 |
Mask reference depth (m) mapRange | 50 | 0.01 to 5000, step 5 |
Sediment boundary boundary | open | closed, open |
Weathering seed offset seed | 0 | whole numbers 0 to 1000000 |
Execution executionNew nodes start at parallel; saved graphs keep the default. | serial | serial, parallel |
Fine brush radius (m) surfaceRadiusNew nodes start at 2; saved graphs keep the default. | 0 | 0 to 500, step 0.5 |
Channel memory momentum | 0 | 0 to 1, step 0.05 |
Talus breakdown
Type Talus.
Eight-neighbour slope transport with bedrock, seeded talus variation, directional bias and optional sediment loss. Mask blocks transport across protected cells. Wear/deposition masks use an explicit metre reference; diagnostics account for removed material.
- Inputs:
terrain(elevation),mask(mask, optional),resistance(mask, optional) - Outputs:
terrain(elevation),wear(mask),deposition(mask)
| Parameter | Default | Allowed |
|---|---|---|
Iterations steps | 60 | whole numbers 1 to 300 |
Bedrock depth (m) maxDepth | 100 | 0 to 5000, step 5 |
Mask reference depth (m) mapRange | 50 | 0.01 to 5000, step 5 |
Talus angle (°) angle | 32 | 1 to 85, step 1 |
Transport rate rate | 0.65 | 0 to 1, step 0.05 |
Bias direction (°) direction | 0 | -180 to 180, step 5 |
Directional bias bias | 0 | 0 to 1, step 0.05 |
Rock variation variation | 0.2 | 0 to 0.8, step 0.05 |
Variation scale (m) scale | 250 | 1 to 10000, step 25 |
Sediment removal removal | 0 | 0 to 1, step 0.05 |
Rock seed offset seed | 0 | whole numbers 0 to 1000000 |
Solver solverNew nodes start at converge; saved graphs keep the default. | iterations | iterations, converge |
Settle tolerance (°) tolerance | 0.5 | 0.05 to 5, step 0.05 |
Settling amount relaxation | 1 | 0 to 1, step 0.05 |
Resistant rock angle (°) rockAngle | 70 | 1 to 89, step 1 |
Wind erosion
Type Wind.
Directional surface abrasion and conservative airborne sediment advection. Exposed ground supplies material; sheltered ground settles it. Closed edges return carried load, open edges report export. This is a grid-based artistic model, not atmospheric CFD.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation),wear(mask),deposition(mask)
| Parameter | Default | Allowed |
|---|---|---|
Iterations steps | 60 | whole numbers 1 to 300 |
Bedrock depth (m) maxDepth | 100 | 0 to 5000, step 5 |
Mask reference depth (m) mapRange | 50 | 0.01 to 5000, step 5 |
Wind toward (°) direction | 25 | -180 to 180, step 5 |
Carrying depth (m) capacity | 15 | 0 to 500, step 0.5 |
Abrasion rate abrasion | 0.25 | 0 to 1, step 0.05 |
Settling rate settling | 0.15 | 0 to 1, step 0.05 |
Travel per step (cells) transport | 0.8 | 0 to 1, step 0.05 |
Shelter scale (m) shelter | 200 | 1 to 10000, step 25 |
Closed-edge slowdown (m) edgeFade | 600 | 1 to 10000, step 50 |
Sediment boundary boundary | open | closed, open |
Erode (particles + sediment)
Type Erode.
Rain drops run down the terrain, erode where they carry less than they could and settle where they carry more: channels and gullies cut in, fans, filled hollows and floodplains build up. Runs coarse to fine (valley-scale channels, then gully-scale rills); fresh sediment relaxes to its angle of repose. White resistance erodes no rock; rainfall scales the number of drops.
- Inputs:
terrain(elevation),resistance(mask, optional),rainfall(mask, optional) - Outputs:
terrain(elevation),flow(mask),wear(mask),deposits(mask),sediment(mask)
| Parameter | Default | Allowed |
|---|---|---|
Drops per cell (per level) drops | 0.5 | 0 to 8, step 0.05 |
Passes per level passes | 12 | whole numbers 1 to 256 |
Drop travel (cells) travel | 96 | whole numbers 4 to 1024 |
Coarsest level spacing (m) coarsest | 16 | 1 to 256, step 1 |
Sediment capacity capacity | 0.05 | 0 to 2, step 0.005 |
Coarse-level depth exponent depthExponent | 1 | 0 to 2, step 0.05 |
Erosion rate erosion | 0.3 | 0 to 1, step 0.01 |
Settling rate deposition | 0.3 | 0 to 1, step 0.01 |
Rock erodibility rockErodibility | 0.5 | 0 to 1, step 0.05 |
Flow inertia inertia | 0.3 | 0 to 0.95, step 0.01 |
Evaporation per step evaporation | 0.02 | 0.001 to 0.5, step 0.001 |
Minimum slope (m/m) minSlope | 0.02 | 0 to 0.5, step 0.005 |
Channel concentration (discharge exponent) discharge | 0.5 | 0 to 2, step 0.05 |
Channel start area (m²) channelArea | 500 | 1 to 1000000, step 50 |
Erosion radius (m) radius | 3 | 0.5 to 200, step 0.5 |
Spread of a stopped drop's load (m, 0 = at its cell) deathRadius | 8 | 0 to 200, step 0.5 |
Keep lakes larger than (m², 0 = off) lakeArea | 20000 | 0 to 10000000, step 1000 |
Keep lakes deeper than (m) lakeDepth | 1 | 0 to 500, step 0.5 |
Lake depth sediment cannot fill lakeKeep | 0.5 | 0 to 1, step 0.05 |
Sediment settling angle (°, 0 = off) repose | 15 | 0 to 60, step 1 |
Settling passes per pass settle | 1 | whole numbers 0 to 8 |
Floor grading of fresh sediment (0 = off) gradeNew nodes start at 0.5; saved graphs keep the default. | 0 | 0 to 1, step 0.05 |
Wear and deposits white at (m) depthRange | 10 | 0.01 to 1000, step 0.5 |
Sediment white at (m) sedimentRange | 5 | 0.01 to 1000, step 0.5 |
Seed seed | 0 | whole numbers 0 to 1000000 |
Compute computeRuntime only: chooses the device, not the result. | auto | auto, cpu, gpu |
Erosion detail
Type ErosionDetail.
Carve branching, flow-aligned gullies into slopes without a simulation. Stripes run downhill and each finer octave follows the walls of the coarser gullies, so they branch like tributaries. No detail on flats or in channels; deeper in hollows, shallower on hard rock. Strata and joint sets act as resistance, not as added height. Gullies start only where enough area drains down a steep enough slope (channel heads), never point into closed depressions, and leave a ring around small lakes. Outputs the gully and ridge masks and the resistance used.
- Inputs:
terrain(elevation),flow(mask, optional),mask(mask, optional),resistance(mask, optional) - Outputs:
terrain(elevation),gullies(mask),ridges(mask),resistance(mask)
| Parameter | Default | Allowed |
|---|---|---|
Largest gully spacing (m) scale | 300 | 10 to 5000, step 10 |
Octaves octaves | 4 | whole numbers 1 to 8 |
Gully depth (m) depth | 30 | 0 to 500, step 1 |
Detail exponent roughness | 1.2 | 0.5 to 1.5, step 0.05 |
Lacunarity lacunarity | 1.93 | 1.5 to 3, step 0.01 |
Branching branching | 0.5 | 0 to 1, step 0.05 |
Sharpness (V gullies, knife ridges) sharpness | 0.5 | 0 to 1, step 0.05 |
Hollow emphasis curvature | 0.3 | 0 to 1, step 0.05 |
Detail starts at slope (deg) slopeStart | 10 | 0 to 80, step 1 |
Full detail at slope (deg) slopeEnd | 35 | 1 to 89, step 1 |
Strata period (m, 0 = off) strataPeriod | 0 | 0 to 500, step 1 |
Strata hardness strataStrength | 0.5 | 0 to 1, step 0.05 |
Joint sets fractureSets | 0 | whole numbers 0 to 3 |
Joint spacing (m) fractureSpacing | 80 | 5 to 2000, step 5 |
Joint strike (deg from north) fractureStrike | 35 | 0 to 180, step 1 |
Joint weakness fractureStrength | 0.5 | 0 to 1, step 0.05 |
Seed seed | 0 | whole numbers 0 to 1000000 |
Channel head threshold (m, 0 = off) channelThreshold | 20 | 0 to 1000, step 1 |
Lake ring (lake radii, 0 = off) lakeFade | 3 | 0 to 6, step 0.5 |
Geology (rock volume)
Type Geology.
A 3D rock volume under the terrain: dipping, folded and faulted beds of hard and soft rock, with joint sets and fault damage zones. The terrain passes through carrying the rock, and Erode samples it at the eroding surface as it cuts down, so hard beds stand as ledges, ribs and benches and joints steer gullies. Resistance is the rock at the input surface (white = hard) for any node with a resistance input; bed and joints show the hardness and the weak zones, layers numbers the beds.
- Inputs:
terrain(elevation) - Outputs:
terrain(elevation),resistance(mask),bed(mask),joints(mask),layers(mask)
| Parameter | Default | Allowed |
|---|---|---|
Mean bed thickness (m) thickness | 25 | 0.5 to 1000, step 0.5 |
Bed thickness variation thicknessVariation | 0.6 | 0 to 1.5, step 0.05 |
Share of hard beds hardFraction | 0.45 | 0 to 1, step 0.05 |
Average hardness hardness | 0.5 | 0 to 1, step 0.05 |
Hardness contrast contrast | 0.8 | 0 to 1, step 0.05 |
Datum (m) datum | 0 | -10000 to 10000, step 10 |
Dip (°) dip | 12 | 0 to 80, step 1 |
Dip direction (°, beds descend towards) dipDirection | 30 | -360 to 360, step 5 |
Fold amplitude (m) foldAmplitude | 0 | 0 to 5000, step 10 |
Fold wavelength (m) foldWavelength | 3000 | 100 to 100000, step 100 |
Fold axis direction (°) foldAxis | 0 | -360 to 360, step 5 |
Bed warp (m) warp | 20 | 0 to 2000, step 5 |
Warp scale (m) warpScale | 1500 | 50 to 100000, step 50 |
Faults faults | 3 | whole numbers 0 to 16 |
Fault throw (m) faultThrow | 40 | 0 to 2000, step 5 |
Fault dip (°) faultDip | 70 | 10 to 90, step 1 |
Fault strike (°) faultStrike | 60 | -360 to 360, step 5 |
Fault strike scatter (°) faultSpread | 25 | 0 to 90, step 5 |
Fault length (m) faultLength | 2500 | 10 to 100000, step 50 |
Fault zone half-width (m) faultZone | 6 | 0.5 to 200, step 0.5 |
Fault zone weakness faultWeakness | 0.6 | 0 to 1, step 0.05 |
Joint sets jointSets | 2 | whole numbers 0 to 3 |
Joint strike (°) jointStrike | 30 | -360 to 360, step 5 |
Angle between joint sets (°) jointAngle | 80 | 0 to 180, step 5 |
Joint dip (°) jointDip | 85 | 10 to 90, step 1 |
Joint spacing (m) jointSpacing | 40 | 0.5 to 2000, step 0.5 |
Joint zone half-width (m) jointWidth | 2 | 0.1 to 100, step 0.1 |
Joint weakness jointWeakness | 0.5 | 0 to 1, step 0.05 |
Joint persistence jointPersistence | 0.6 | 0 to 1, step 0.05 |
Seed seed | 0 | whole numbers 0 to 1000000 |
Glaciate
Type Glaciate.
Carve the terrain with glaciers at their maximum extent: steady-state balance-flux ice above an equilibrium-line altitude, abrasion that scales with sliding speed (U-shaped troughs, hanging tributary valleys, overdeepenings), cirques with tarns at glacier heads, lateral and terminal moraines, then a post-glacial river pass. Physical units: metres and years. Large-scale work runs on an internal ice grid; fine detail outside the ice is kept.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation),ice(mask),glacier(mask),erosion(mask),moraine(mask),cirques(mask),lakes(mask)
| Parameter | Default | Allowed |
|---|---|---|
Climate · ELA reference elaMode | relief | relief, absolute |
Climate · ELA height in the relief (0 = lowest, 1 = highest) elaFraction | 0.6 | 0 to 1, step 0.01 |
Climate · Equilibrium-line altitude (m, absolute reference) ela | 1600 | -1000 to 9000, step 10 |
Climate · ELA lowered on north faces (m) aspectBias | 150 | -500 to 500, step 10 |
Climate · Mass-balance gradient (m/yr per m) balanceGradient | 0.01 | 0.001 to 0.05, step 0.001 |
Climate · Max accumulation (m/yr) maxAccumulation | 2 | 0.1 to 10, step 0.1 |
Ice · Sliding (x deformation speed) sliding | 1 | 0 to 5, step 0.1 |
Ice · Ice grid spacing (m) iceGrid | 64 | 16 to 512, step 8 |
Erosion · Glacial time (kyr) glacialTime | 500 | 0 to 2000, step 10 |
Erosion · Ice/erosion steps epochs | 8 | whole numbers 1 to 32 |
Erosion · Abrasion speed exponent abrasionExponent | 2 | 1 to 3, step 0.1 |
Erosion · Glacial erosion limit (m) maxDepth | 400 | 0 to 3000, step 10 |
Erosion · Trough wall angle (°) wallAngle | 50 | 0 to 85, step 1 |
Shaping · U-profile shaping uShape | 0.8 | 0 to 1, step 0.05 |
Shaping · U-profile exponent uExponent | 2 | 1 to 4, step 0.1 |
Shaping · Glacial polish polish | 0.35 | 0 to 1, step 0.05 |
Shaping · Cirques cirques | off | on or off |
Shaping · Cirque radius (m) cirqueRadius | 600 | 100 to 3000, step 10 |
Shaping · Cirque floor above ELA (m) cirqueFloor | 0 | -500 to 500, step 10 |
Shaping · Cirque headwall angle (°) headwallAngle | 55 | 30 to 80, step 1 |
Deposits · Moraine height (m) moraineHeight | 30 | 0 to 200, step 1 |
Deposits · Post-glacial river time (yr) postglacialYears | 11700 | 0 to 200000, step 100 |
Deposits · Lake sediment fill lakeFill | 0 | 0 to 1, step 0.05 |
Masks · Ice mask white at (m) iceRange | 400 | 1 to 3000, step 10 |
Masks · Erosion mask white at (m) erosionRange | 200 | 1 to 3000, step 10 |
Masks · Lake depth white at (m) lakeRange | 20 | 0.1 to 1000, step 1 |
Masks · Seed (cirque shapes) seed | 0 | whole numbers 0 to 1000000 |
Gullies (fine incision)
Type Gullies.
Cut real gullies at full resolution: water is routed locally, channels incise where enough area drains down a steep enough slope (the channel head sets the gully spacing, tens of metres), and hillslopes between them are rounded by soil creep that speeds up towards the critical slope while cliffs stay sharp. Gives the 8-64 m relief of real mountains instead of uniform noise. Runs tile by tile on big terrains. Optional resistance (hard rock incises and creeps less) and mask. Outputs the terrain, the channel mask and the incision depth.
- Inputs:
terrain(elevation),resistance(mask, optional),mask(mask, optional) - Outputs:
terrain(elevation),channels(mask),incision(mask)
| Parameter | Default | Allowed |
|---|---|---|
Steps steps | 2 | whole numbers 1 to 8 |
Channel head area (m²) headArea | 300 | 50 to 100000, step 50 |
Upstream reach (m) reach | 80 | 4 to 1000, step 4 |
Incision depth (m) depth | 8 | 0 to 100, step 0.5 |
Area exponent m areaExponent | 0.5 | 0 to 2, step 0.05 |
Slope exponent n slopeExponent | 1 | 0.25 to 3, step 0.05 |
Flow concentration flowExponent | 4 | 1 to 10, step 0.1 |
Gully wall slope (deg) wallSlope | 45 | 5 to 80, step 1 |
Gully floor rounding (m) rounding | 2 | 0 to 20, step 0.5 |
Hillslope rounding (m) creep | 0.8 | 0 to 50, step 0.5 |
Critical slope (deg) criticalSlope | 38 | 10 to 80, step 1 |
Cliffs from slope (deg) rockSlope | 50 | 10 to 85, step 1 |
Creep in channels channelCreep | 0.5 | 0 to 1, step 0.05 |
Resistance strength hardness | 0.8 | 0 to 1, step 0.05 |
Incision mask range (m) mapRange | 5 | 0.1 to 100, step 0.1 |
Landform (uplift and rivers)
Type Landform.
Grow mountains from an uplift map: rivers cut into rising rock until erosion balances uplift, which forms dendritic valleys, spurs, cols and varying crest heights. Implicit stream power with deposition, lakes that trap sediment and hillslope diffusion, in metres and years. White uplift rises at the given rate; white resistance erodes less.
- Inputs:
terrain(elevation, optional),uplift(mask),resistance(mask, optional),rainfall(mask, optional) - Outputs:
terrain(elevation),wear(mask),deposition(mask),flow(mask),channels(mask),drainageArea(mask),ridges(mask),lakeSediment(mask),fans(mask)
| Parameter | Default | Allowed |
|---|---|---|
Solver mode | Implicit | Implicit, SteadyState |
Duration (kyr) duration | 2000 | 0 to 50000, step 100 |
Uplift at white (mm/yr) upliftMax | 1 | 0 to 10, step 0.1 |
Erodibility K erodibility | 0.00002 | 1e-7 to 0.001, step 0.000001 |
Concavity m/n concavity | 0.45 | 0.2 to 0.8, step 0.05 |
Slope exponent n slopeExponent | 1 | 0.5 to 2, step 0.1 |
Channel head area (m²) channelHead | 5000 | 0 to 10000000, step 1000 |
Hillslope diffusion (m²/yr) diffusion | 0.002 | 0 to 1, step 0.001 |
Deposition G deposition | 1 | 0 to 3, step 0.1 |
Lakes trap sediment lakeTrap | on | on or off |
Delta front slope (°) deltaSlope | 10 | 1 to 30, step 1 |
Max slope (°, 0 = off) maxSlope | 0 | 0 to 80, step 1 |
Receivers routing | RandomD8 | RandomD8, D8, MFD |
Receiver slope exponent routingExponent | 1 | 0.1 to 10, step 0.1 |
Base level boundary | Open | Open, Recipe |
Uplift fade at outlet edges (m) edgeFade | 1500 | 0 to 10000, step 100 |
Initial roughness (m, no terrain input) roughness | 2 | 0 to 100, step 1 |
Target relief (m, 0 = physical) targetRelief | 0 | 0 to 10000, step 10 |
Simulation spacing (m, 0 = graph) resolution | 20 | 0 to 500, step 1 |
Resistance contrast resistanceContrast | 0.8 | 0 to 1, step 0.05 |
Channel threshold (m²) channelArea | 200000 | 100 to 10000000000, step 10000 |
Flow mask white at (m²) flowArea | 10000000 | 1 to 10000000000, step 10000 |
Wear and deposit white at (m) depthRange | 200 | 0.1 to 10000, step 1 |
Seed seed | 0 | whole numbers 0 to 1000000 |
Rockfall & scree
Type Scree.
Rock faces steeper than the release angle shed debris. It runs down the steepest path, stops where the slope eases below the scree angle or its energy line flattens below the run-out angle, and settles into talus cones under gullies and aprons along cliff feet. White resistance keeps rock from releasing (parallel: resistant rock stands up to the resistant release angle and its debris rests at the coarse scree angle); black mask protects cells. Closed edges conserve volume. Resolution independent. Parallel execution moves every column at once (GPU-capable) and settles the fresh debris at its angle of repose.
- Inputs:
terrain(elevation),resistance(mask, optional),mask(mask, optional) - Outputs:
terrain(elevation),scree(mask),cliff(mask),boulders(mask)
| Parameter | Default | Allowed |
|---|---|---|
Release angle (°) releaseAngle | 50 | 25 to 85, step 1 |
Scree angle (°) stopAngle | 34 | 15 to 50, step 1 |
Run-out angle (°) runoutAngle | 32 | 10 to 50, step 1 |
Release depth per cycle (m) releaseDepth | 3 | 0 to 50, step 0.5 |
Rockfall cycles cycles | 3 | whole numbers 1 to 20 |
Fracture variation fracture | 0.5 | 0 to 1, step 0.05 |
Fracture scale (m) fractureScale | 60 | 1 to 5000, step 5 |
Settle tolerance (°) tolerance | 0.5 | 0.05 to 5, step 0.05 |
Scree mask white depth (m) mapRange | 5 | 0.01 to 500, step 0.5 |
Seed offset seed | 0 | whole numbers 0 to 1000000 |
Execution executionNew nodes start at parallel; saved graphs keep the default. | serial | serial, parallel |
Resistant rock release angle (°, parallel) rockReleaseAngle | 70 | 25 to 89, step 1 |
Scree angle on resistant rock (°, parallel) coarseAngle | 38 | 15 to 50, step 1 |
Maximum run-out (m, parallel) maxRunout | 600 | 10 to 5000, step 10 |
Apron head taper (m, 0 = off) headTaperNew nodes start at 12; saved graphs keep the default. | 0 | 0 to 200, step 1 |
Compute (parallel) computeRuntime only: chooses the device, not the result. | auto | auto, cpu, gpu |
Snow
Type Snow.
Form-aware snow cover: a snowline in metres or as a fraction of the relief, lower on shaded faces, scoured from wind-exposed ridges and collected in lee slopes and hollows, then redistributed by avalanches so steep faces shed their snow into couloirs and cones. Outputs the snow-covered surface, snow cover, snow depth in metres and avalanche tracks.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation),snow(mask),snowDepth(elevation),avalancheTracks(mask)
| Parameter | Default | Allowed |
|---|---|---|
Snowline snowlineMode | relative | relative, absolute |
Snowline height (m, absolute) snowline | 2200 | -1000 to 9000, step 10 |
Snowline in the relief (0 lowest, 1 highest) snowlineFraction | 0.65 | 0 to 1, step 0.01 |
Snowline transition (m) ramp | 150 | 1 to 2000, step 5 |
Lower on shaded faces by (m) aspectShift | 150 | -1000 to 1000, step 10 |
Snowline variation (m) variation | 60 | 0 to 500, step 5 |
Variation size (m) variationScale | 500 | 10 to 10000, step 10 |
Wind from (compass degrees) windDirection | 300 | 0 to 360, step 1 |
Wind scour and drift windStrength | 0.6 | 0 to 1, step 0.05 |
Wind shelter distance (m) windRadius | 200 | 10 to 2000, step 10 |
Hollows collect hollowGain | 0.6 | 0 to 3, step 0.05 |
Holds snow up to (deg) holdAngle | 32 | 0 to 89, step 1 |
Sheds snow from (deg) shedAngle | 52 | 1 to 90, step 1 |
Avalanches avalanche | on | on or off |
Snow depth (m) depth | 2 | 0.05 to 50, step 0.05 |
Seed offset seed | 0 | whole numbers 0 to 1000000 |
Stream power erosion
Type StreamPower.
Rivers erode the terrain for a duration: implicit stream power with random receivers, deposition that fills valleys and builds fans, lakes that trap sediment as deltas, and hillslope diffusion, in metres and years. Optional uplift and resistance (white resists). Wear and deposit masks are white at a stated thickness.
- Inputs:
terrain(elevation),mask(mask, optional),uplift(mask, optional),resistance(mask, optional),rainfall(mask, optional) - Outputs:
terrain(elevation),wear(mask),deposition(mask),flow(mask),channels(mask),drainageArea(mask),ridges(mask),lakeSediment(mask),fans(mask)
| Parameter | Default | Allowed |
|---|---|---|
Duration (kyr) duration | 50 | 0 to 10000, step 1 |
Uplift at white (mm/yr) upliftMax | 0 | 0 to 10, step 0.1 |
Erodibility K erodibility | 0.00002 | 1e-7 to 0.001, step 0.000001 |
Concavity m/n concavity | 0.45 | 0.2 to 0.8, step 0.05 |
Slope exponent n slopeExponent | 1 | 0.5 to 2, step 0.1 |
Channel head area (m²) channelHead | 0 | 0 to 10000000, step 1000 |
Hillslope diffusion (m²/yr) diffusion | 0.002 | 0 to 1, step 0.001 |
Deposition G deposition | 1 | 0 to 3, step 0.1 |
Lakes trap sediment lakeTrap | on | on or off |
Delta front slope (°) deltaSlope | 10 | 1 to 30, step 1 |
Max slope (°, 0 = off) maxSlope | 0 | 0 to 80, step 1 |
Receivers routing | RandomD8 | RandomD8, D8, MFD |
Receiver slope exponent routingExponent | 1 | 0.1 to 10, step 0.1 |
Base level boundary | Recipe | Recipe, Open |
Uplift fade at outlet edges (m) edgeFade | 0 | 0 to 10000, step 100 |
Simulation spacing (m, 0 = graph) resolution | 0 | 0 to 500, step 1 |
Resistance contrast resistanceContrast | 0.8 | 0 to 1, step 0.05 |
Channel threshold (m²) channelArea | 200000 | 100 to 10000000000, step 10000 |
Flow mask white at (m²) flowArea | 10000000 | 1 to 10000000000, step 10000 |
Wear and deposit white at (m) depthRange | 20 | 0.1 to 10000, step 1 |
Seed seed | 0 | whole numbers 0 to 1000000 |
Valley fill
Type ValleyFill.
Fill eroded V valleys with sediment where their drainage area is large: broad flat floodplain floors that widen downstream, rise gently to the valley walls and stop there. Deep closed basins stay lakes at their spill level, small hollows stay as they are, other basins fill with sediment that drains gently towards their outlet. Only raises the terrain.
- Inputs:
terrain(elevation) - Outputs:
terrain(elevation),floodplain(mask),fillDepth(mask),lakes(mask)
| Parameter | Default | Allowed |
|---|---|---|
Floodplain from drainage area (m²) floodplainArea | 1000000 | 1000 to 10000000000, step 100000 |
Floor width coefficient (m^0.4) widthCoeff | 1.5 | 0.05 to 50, step 0.1 |
Floor width exponent widthExp | 0.3 | 0.1 to 0.6, step 0.01 |
Maximum floor half-width (m) maxHalfWidth | 1500 | 5 to 20000, step 10 |
Floor rise to the walls (°) lateralRise | 1 | 0 to 10, step 0.1 |
Along-valley smoothing (floor widths) smoothing | 8 | 0 to 50, step 0.5 |
Maximum fill depth (m) maxFillDepth | 150 | 0 to 2000, step 5 |
Minimum toe width (m) toe | 2 | 0 to 50, step 0.5 |
Toe width (floor half-widths) toeWidth | 0.35 | 0 to 2, step 0.05 |
Minimum lake depth (m) minLakeDepth | 2 | 0 to 1000, step 0.5 |
Minimum lake area (m²) minLakeArea | 50000 | 0 to 1000000000, step 1000 |
Keep hollows up to depth (m) hollowDepth | 1 | 0 to 50, step 0.1 |
Keep hollows up to area (m²) hollowArea | 1000 | 0 to 1000000, step 100 |
Sediment fill gradient (°) fillGrade | 2.5 | 0 to 10, step 0.1 |
Fill depth white at (m) fillRange | 20 | 0.1 to 2000, step 1 |
Lake depth white at (m) lakeRange | 20 | 0.1 to 5000, step 1 |
Water
Rivers, lakes, drainage, floodplains and coast.
River path
Type CarvePath.
Graded preserves the original spline trench. Alluvial adds bounded bend migration, terrain confinement, pool cross sections and sediment-limited inner bars. It is a kinematic model, not 2D hydraulics. Guides pin the bankfull course; tributary joins and lake shores also pin the wet course. End at a world edge, lake or another river within Junction snap. Cutoffs and braiding are not simulated. In Alluvial, waterWidth(s) controls the channel; width and slot apply only to Graded.
- Inputs:
terrain(elevation),mask(mask, optional) - Outputs:
terrain(elevation),channel(mask),banks(mask),erosion(mask),deposition(mask)
| Parameter | Default | Allowed |
|---|---|---|
Channel model channelModel | graded | graded, alluvial |
Migration travel budget (m) migration | 120 | 0 to 2000, step 10 |
Migration steps migrationSteps | 40 | whole numbers 1 to 160 |
Upstream influence (channel widths) bendMemory | 3 | 0.5 to 12, step 0.5 |
Confining bank relief (m) confinement | 8 | 0.1 to 200, step 1 |
Downstream discharge ratio flowGrowth | 1 | 1 to 16, step 0.25 |
Inner point bar strength bars | 0.8 | 0 to 1, step 0.05 |
Maximum eroded sediment retained barRetention | 0.35 | 0 to 1, step 0.05 |
Erosion/deposition mask white (m) mapRange | 10 | 0.1 to 1000, step 1 |
Junction snap (m) joinDistance | 1 | 0.001 to 500, step 1 |
Centre X (m) x | 0 | -100000 to 100000, step 100 |
Centre Y (m) y | 0 | -100000 to 100000, step 100 |
Rotation (°) angle | 0 | -360 to 360, step 5 |
Control points points | 4 points | 2 to 64 points in world metres |
Initial bed depth (m) depth | 25 | 0.1 to 3000, step 5 |
Bank half width (m) width | 180 | 1 to 10000, step 10 |
Bed half width (m) slot | 25 | 0.5 to 5000, step 5 |
Minimum bed slope grade | 0.002 | 0.00001 to 0.2, step 0.001 |
Export water surface water | off | on or off |
Water full width (m) waterWidth | 40 | 0.5 to 1000, step 5 |
Water widths at path points (m) waterWidthsEmpty uses uniform waterWidth. Otherwise provide one full width per control point; linear profile follows normalized control-point chord distance and survives clipping and reach splitting. | empty | one width per point of points, 0.5 to 1000 m, at most 64 |
Water depth (m) waterDepth | 2 | 0.4 to 100, step 1 |
River network
Type Rivers.
Route drainage through the terrain and carve connected channels. Headwaters confines source regions while retaining their downstream flow.
- Inputs:
terrain(elevation),headwaters(mask, optional) - Outputs:
terrain(elevation),channels(mask),flow(mask)
| Parameter | Default | Allowed |
|---|---|---|
Catchment threshold (m²) area | 400000 | 100 to 10000000000, step 10000 |
Channel half width (m) width | 45 | 1 to 2000, step 5 |
Channel depth (m) depth | 8 | 0.1 to 500, step 1 |
Valley widening valley | 2 | 1 to 12, step 0.5 |
Positioned lake
Type Lake.
Choose a source inside a contained basin and an absolute water level. Exports coverage, depth and exterior shore masks. Authored water mode preserves enabled lake surfaces from this node's terrain; downstream transforms do not move them.
- Inputs:
terrain(elevation) - Outputs:
terrain(elevation),water(mask),depth(mask),shore(mask)
| Parameter | Default | Allowed |
|---|---|---|
Source X (m) x | 0 | -100000 to 100000, step 100 |
Source Y (m) y | 0 | -100000 to 100000, step 100 |
Water level (m) level | 800 | -5000 to 15000, step 5 |
Shore width (m) shore | 100 | 0 to 5000, step 10 |
Depth mask white (m) depthRange | 100 | 0.1 to 5000, step 5 |
Minimum bed depth (m) minDepth | 0.5 | 0.4 to 100, step 1 |
Export water surface water | on | on or off |
Lakes
Type Lakes.
Find enclosed depressions using priority-flood routing. Exposes lake coverage, depth and shore selections without inventing uphill water.
- Inputs:
terrain(elevation) - Outputs:
terrain(elevation),water(mask),depth(mask),shore(mask)
| Parameter | Default | Allowed |
|---|---|---|
Minimum area (m²) minArea | 20000 | 1 to 1000000000, step 1000 |
Minimum depth (m) minDepth | 1 | 0.01 to 1000, step 0.1 |
Shore width (m) shore | 60 | 1 to 2000, step 10 |
Fill depressions
Type DrainageFill.
Priority-flood depression filling with a minimum routing gradient. Changes terrain by raising pits, rather than cutting outlets.
- Inputs:
terrain(elevation) - Outputs:
terrain(elevation),fill(mask)
No parameters.
River channels
Type Channels.
Carve rivers sized by their discharge: width w = a·Q^b and depth d = c·Q^f (Leopold & Maddock), with Q from the upstream area. Beds fall strictly downstream and only cut. Reaches meander on gentle slopes, braid where the slope is steep for the discharge, and run straight in steep or narrow valleys. Exports water depth, the wetted river, braid bars and channel width.
- Inputs:
terrain(elevation),rainfall(mask, optional) - Outputs:
terrain(elevation),water(mask),riverMask(mask),bars(mask),width(mask)
| Parameter | Default | Allowed |
|---|---|---|
Channel threshold (m²) channelArea | 1000000 | 100 to 10000000000, step 10000 |
Bankfull discharge at reference area (m³/s) Qref | 10 | 0.01 to 100000, step 1 |
Reference area (m²) Aref | 10000000 | 1000 to 1000000000000, step 100000 |
Discharge area exponent areaExp | 0.8 | 0.3 to 1, step 0.05 |
Width coefficient a (m) widthCoeff | 4 | 0.1 to 50, step 0.1 |
Width exponent b widthExp | 0.5 | 0.1 to 0.9, step 0.01 |
Depth coefficient c (m) depthCoeff | 0.3 | 0.01 to 10, step 0.01 |
Depth exponent f depthExp | 0.4 | 0.1 to 0.9, step 0.01 |
River style style | Auto | Auto, Meander, Braided, Straight |
Meander amplitude (channel widths) migration | 1.5 | 0 to 4, step 0.1 |
Meander wavelength (channel widths) wavelength | 11 | 4 to 30, step 0.5 |
Braid belt width (channel widths) braidBelt | 8 | 2 to 20, step 0.5 |
Levee height (× depth) levees | 0 | 0 to 1, step 0.05 |
Minimum bed gradient (m/m) minGradient | 0.0005 | 0.000001 to 0.1, step 0.0001 |
Bank angle (°) bankAngle | 35 | 5 to 80, step 1 |
Water depth white at (m) depthRange | 5 | 0.1 to 100, step 0.5 |
Width white at (m) widthRange | 100 | 1 to 5000, step 10 |
Seed seed | 0 | whole numbers 0 to 1000000 |
Floodplain and terraces
Type Floodplain.
Flatten valley floors next to rivers into floodplains at the bankfull level, with natural levees and back-swamp wetlands, and cut river terraces above them. Everything is measured as height above the nearest channel (HAND) along the flow, so the shapes follow the drainage instead of absolute contours.
- Inputs:
terrain(elevation),rainfall(mask, optional) - Outputs:
terrain(elevation),floodplain(mask),terraces(mask),wetland(mask)
| Parameter | Default | Allowed |
|---|---|---|
Channel threshold (m²) channelArea | 1000000 | 100 to 10000000000, step 10000 |
Bankfull discharge at reference area (m³/s) Qref | 10 | 0.01 to 100000, step 1 |
Reference area (m²) Aref | 10000000 | 1000 to 1000000000000, step 100000 |
Discharge area exponent areaExp | 0.8 | 0.3 to 1, step 0.05 |
Width coefficient a (m) widthCoeff | 4 | 0.1 to 50, step 0.1 |
Width exponent b widthExp | 0.5 | 0.1 to 0.9, step 0.01 |
Depth coefficient c (m) depthCoeff | 0.3 | 0.01 to 10, step 0.01 |
Depth exponent f depthExp | 0.4 | 0.1 to 0.9, step 0.01 |
Floodplain height (× channel depth) heightFactor | 2.5 | 0.5 to 30, step 0.5 |
Floodplain reach (channel widths) maxDistance | 20 | 1 to 200, step 1 |
Levee height (× depth) levee | 0.2 | 0 to 1, step 0.05 |
Back-swamp wetland wetland | 0.5 | 0 to 1, step 0.05 |
Terrace levels terraces | 0 | whole numbers 0 to 4 |
Terrace spacing (m) terraceSpacing | 6 | 1 to 30, step 0.5 |
Terrace riser angle (°) riserAngle | 30 | 10 to 60, step 1 |
Terrace spacing variation terraceVariation | 0.3 | 0 to 0.8, step 0.05 |
Seed seed | 0 | whole numbers 0 to 1000000 |
Flow routing
Type FlowRoute.
Analyse drainage without changing the terrain. Routes water with D8, random D8, multiple flow directions or D-infinity over filled, carved or basin-linked depressions, and exports flow, channels, height above drainage, wetness, lake depth, drainage basins and stream order. Every mask is scaled by an explicit area or height, not by its own maximum.
- Inputs:
terrain(elevation),rainfall(mask, optional) - Outputs:
terrain(elevation),flow(mask),channels(mask),hand(mask),wetness(mask),lakes(mask),basins(colour),order(mask)
| Parameter | Default | Allowed |
|---|---|---|
Flow method method | MFD | D8, RandomD8, MFD, DInf |
Slope exponent (MFD, random D8) mfdExponent | 1.1 | 0.1 to 10, step 0.1 |
Depressions depressions | Fill | Fill, Carve, Basins |
Channel threshold (m²) channelArea | 200000 | 100 to 10000000000, step 10000 |
Flow mask white at (m²) flowArea | 10000000 | 1 to 10000000000, step 10000 |
Height above drainage white at (m) handRange | 50 | 0.1 to 5000, step 1 |
Wetness index white at wetnessRange | 20 | 1 to 50, step 1 |
Lake depth white at (m) lakeRange | 20 | 0.1 to 5000, step 1 |
Stream order white at orderRange | 6 | whole numbers 1 to 12 |
Seed (random D8) seed | 0 | whole numbers 0 to 1000000 |
Compute device (D8 accumulation) computeRuntime only: chooses the device, not the result. | auto | auto, cpu, gpu |
Hydro fix
Type HydroFix.
Make the terrain drain: cut outlets through the barriers of closed depressions (least-cost breaching), up to a maximum cut depth and length, and fill whatever is left. Every cell then drains to the map edge. Breach and fill masks show the changes.
- Inputs:
terrain(elevation) - Outputs:
terrain(elevation),breach(mask),fill(mask)
| Parameter | Default | Allowed |
|---|---|---|
Method method | Hybrid | Hybrid, Breach, Fill |
Maximum cut depth (m) maxDepth | 30 | 0 to 5000, step 1 |
Maximum cut length (m) maxLength | 2000 | 0 to 100000, step 50 |
Masks white at (m) depthRange | 10 | 0.01 to 5000, step 1 |
Lake shore
Type LakeShore.
Shape lake shores without changing lake levels: sandy beaches with a Dean equilibrium profile under water and a berm above it, rocky shores with a wave-cut bench and notch, reed shelves in sheltered bays. Fetch (open water upwind) scales the closure depth, berm and bench. Lakes come from FlowRoute, Lakes or Lake, or are found when the input is not connected.
- Inputs:
terrain(elevation),lakes(mask, optional) - Outputs:
terrain(elevation),beach(mask),rockyShore(mask),wetland(mask),shoreDistance(mask)
| Parameter | Default | Allowed |
|---|---|---|
Steepest beach shore (°) beachSlope | 15 | 0 to 60, step 1 |
Rocky shore from (°) rockSlope | 25 | 0 to 80, step 1 |
Dean profile A (m^1/3) deanA | 0.1 | 0.02 to 0.5, step 0.01 |
Closure depth at 1 km fetch (m) closureDepth | 2 | 0.1 to 20, step 0.1 |
Berm height (m) berm | 1 | 0 to 5, step 0.1 |
Beach face angle (°) faceAngle | 6 | 1 to 20, step 0.5 |
Berm width at 1 km fetch (m) bermWidth | 12 | 0 to 100, step 1 |
Bench width at 1 km fetch (m) benchWidth | 6 | 0 to 50, step 0.5 |
Bench depth (m) benchDepth | 1 | 0 to 5, step 0.1 |
Wind blows towards (°) windDirection | 45 | 0 to 360, step 5 |
Reed shores reeds | 1 | 0 to 1, step 0.05 |
Sheltered below fetch (m) reedFetch | 300 | 1 to 10000, step 10 |
Reed belt width (m) reedWidth | 25 | 1 to 500, step 1 |
Minimum lake area (m²) minLakeArea | 20000 | 0 to 1000000000, step 1000 |
Minimum lake depth (m) minLakeDepth | 1 | 0 to 1000, step 0.1 |
Shore distance white at (m) shoreRange | 100 | 1 to 5000, step 10 |
Sea and coast
Type Sea.
Floods the terrain below a sea level from the map edge and shapes the coast. Exposed rocky shores retreat into wave-cut platforms below cliffs; gentle shores get Dean equilibrium beaches out to the closure depth with a berm above the waterline. Exposure comes from the open-water fetch towards the swell. All lengths are in metres, so the coast keeps its size at every resolution.
- Inputs:
terrain(elevation),hardness(mask, optional) - Outputs:
terrain(elevation),shore(mask),beach(mask),cliff(mask),seaMask(mask)
| Parameter | Default | Allowed |
|---|---|---|
Sea level reference levelMode | coverage | coverage, absolute |
Share of the map under the sea levelFraction | 0.2 | 0 to 0.95, step 0.01 |
Sea level (m, absolute reference) seaLevel | 40 | -5000 to 15000, step 1 |
Swell from (°, 0 = east, 90 = south) swellFrom | 135 | -360 to 360, step 5 |
Fully exposed at fetch (m) referenceFetch | 30000 | 100 to 1000000, step 1000 |
Open sea beyond the map edge (m) openSeaFetch | 100000 | 0 to 10000000, step 1000 |
Tidal range (m) tidalRange | 2.5 | 0 to 15, step 0.5 |
Time at this sea level (years) ageYears | 6000 | 0 to 200000, step 500 |
Cliff retreat, exposed (m/yr) cliffRetreatRate | 0.05 | 0 to 2, step 0.01 |
Rocky above slope (°) cliffAngle | 30 | 5 to 80, step 1 |
Beach below slope (°) beachSlope | 8 | 0 to 45, step 1 |
Cliff face (°) cliffFace | 70 | 35 to 89, step 1 |
Rock band size (m) lithologyScale | 700 | 50 to 20000, step 50 |
Hard/soft rock contrast lithologyContrast | 0.6 | 0 to 1, step 0.05 |
Beaches in bays bayBeaches | 1 | 0 to 2, step 0.1 |
Dean A, grain (m^1/3) deanA | 0.1 | 0.03 to 0.5, step 0.01 |
Closure depth, exposed (m) closureDepth | 10 | 0.5 to 40, step 0.5 |
Beach face (°) beachFace | 5 | 1 to 20, step 0.5 |
Berm height, exposed (m) bermHeight | 2.5 | 0 to 10, step 0.5 |
Berm width, exposed (m) bermWidth | 40 | 0 to 500, step 5 |
Alongshore smoothing (m) alongshore | 150 | 10 to 5000, step 10 |
Shore mask width (m) shoreWidth | 40 | 1 to 2000, step 5 |
Seed offset seed | 0 | whole numbers 0 to 1000000 |
Select
Nodes that turn a heightfield into a mask, or combine masks. Several of these feed biome rules and paint layers.
Imported mask
Type MaskFile.
Read a grayscale selection image. Integer samples map to 0–1; float samples are clamped. Range mode stretches the source minimum/maximum. Row zero is north.
- Inputs: none
- Outputs:
mask(mask)
| Parameter | Default | Allowed |
|---|---|---|
Source image asset | none | a raster embedded in the definition |
Mask decoding encoding | normalized | normalized, range |
Fit to world fit | stretch | stretch, crop |
Resampling sampling | linear | linear, nearest |
Flip east / west flipX | off | on or off |
Flip north / south flipY | off | on or off |
Height selector
Type HeightMask.
Select a band of elevation with feathered edges. White includes, black excludes.
- Inputs:
terrain(elevation) - Outputs:
mask(mask)
| Parameter | Default | Allowed |
|---|---|---|
From (m) low | 800 | -5000 to 15000, step 50 |
To (m) high | 1900 | -5000 to 15000, step 50 |
Feather (m) feather | 150 | 0 to 3000, step 10 |
Slope selector
Type SlopeMask.
Select a slope band in degrees, measured at this graph's sampling resolution.
- Inputs:
terrain(elevation) - Outputs:
mask(mask)
| Parameter | Default | Allowed |
|---|---|---|
From (°) low | 25 | 0 to 89, step 1 |
To (°) high | 90 | 1 to 90, step 1 |
Feather (°) feather | 8 | 0 to 45, step 1 |
Radial falloff
Type RadialMask.
A circular inclusion mask in world metres. Useful for islands and local operations.
- Inputs: none
- Outputs:
mask(mask)
| Parameter | Default | Allowed |
|---|---|---|
Radius (m) radius | 2800 | 10 to 100000, step 100 |
Feather (m) feather | 1200 | 1 to 100000, step 100 |
Centre X (m) x | 0 | -50000 to 50000, step 100 |
Centre Y (m) y | 0 | -50000 to 50000, step 100 |
Combine masks
Type MaskCombine.
Combine two selection masks, clamped to zero through one.
- Inputs:
a(mask),b(mask) - Outputs:
mask(mask)
| Parameter | Default | Allowed |
|---|---|---|
Operation mode | multiply | multiply, max, min, add, subtract |
Invert mask
Type Invert.
Swap included and excluded areas.
- Inputs:
mask(mask) - Outputs:
mask(mask)
No parameters.
Shape mask
Type ShapeMask.
Place a circle, ellipse or box mask with feathered edges. White includes the selected area.
- Inputs: none
- Outputs:
mask(mask)
| Parameter | Default | Allowed |
|---|---|---|
Centre X (m) x | 0 | -100000 to 100000, step 100 |
Centre Y (m) y | 0 | -100000 to 100000, step 100 |
Rotation (°) angle | 0 | -360 to 360, step 5 |
Shape shape | ellipse | ellipse, box |
Width (m) width | 2600 | 10 to 100000, step 100 |
Length (m) length | 2600 | 10 to 100000, step 100 |
Feather (m) feather | 350 | 0 to 20000, step 50 |
Distance mask
Type DistanceMask.
Distance to a mask boundary in world metres. Use the falloff outside a feature, or increasing distance inside it.
- Inputs:
mask(mask) - Outputs:
mask(mask)
| Parameter | Default | Allowed |
|---|---|---|
Region mode | outside | outside, inside, both |
Falloff distance (m) distance | 500 | 1 to 100000, step 25 |
Mask threshold threshold | 0.5 | 0 to 1, step 0.05 |
Curvature selector
Type CurvatureMask.
Convex ridges and concave hollows from the Laplacian of a smoothed heightfield. This uses mean curvature response, not separate plan/profile modes.
- Inputs:
terrain(elevation) - Outputs:
convex(mask),concave(mask)
| Parameter | Default | Allowed |
|---|---|---|
Radius (m) radius | 80 | 0 to 3000, step 10 |
Sensitivity (m) sensitivity | 500 | 1 to 100000, step 50 |
Facing direction
Type AspectMask.
Select slopes facing a compass angle: 0° is +X, 90° is +Y. Flat areas are excluded.
- Inputs:
terrain(elevation) - Outputs:
mask(mask)
| Parameter | Default | Allowed |
|---|---|---|
Facing direction (°) angle | 0 | -360 to 360, step 5 |
Angular half width (°) width | 60 | 1 to 180, step 5 |
Angle feather (°) feather | 15 | 0 to 90, step 5 |
Peaks & ridges
Type PeaksMask.
Select positive relief above the local average. Radius sets the scale of ridges to include.
- Inputs:
terrain(elevation) - Outputs:
mask(mask)
| Parameter | Default | Allowed |
|---|---|---|
Radius (m) radius | 350 | 0 to 3000, step 10 |
Relief contrast (m) contrast | 100 | 1 to 2000, step 10 |
Compare heights
Type CompareMask.
Compare two elevations with a tolerance and a soft transition. White marks the selected relation.
- Inputs:
a(elevation),b(elevation) - Outputs:
mask(mask)
| Parameter | Default | Allowed |
|---|---|---|
Comparison mode | above | above, below, equal |
Tolerance (m) tolerance | 1 | 0 to 2000, step 1 |
Feather (m) feather | 10 | 0 to 1000, step 5 |
Normal map
Type Normals.
Tangent-space normal map for Unreal materials, packed 0..1 (x east in red, y south in green for DirectX, z up in blue). Measure scale smooths the surface over a Gaussian radius in metres first, so preview and build grids give the same map.
- Inputs:
terrain(elevation) - Outputs:
normals(RGB data)
| Parameter | Default | Allowed |
|---|---|---|
Measure scale (m) measureScale | 0 | 0 to 1000, step 1 |
Strength strength | 1 | 0 to 20, step 0.1 |
Green channel convention | DirectX | DirectX, OpenGL |
Ambient occlusion
Type Occlusion.
Horizon-based ambient occlusion over a radius in metres: 1 under open sky, darker in pits, valley floors and at the foot of cliffs. Planes are fully open whatever their slope. Sampled at fixed distances in metres, so preview and build grids agree.
- Inputs:
terrain(elevation) - Outputs:
mask(mask)
| Parameter | Default | Allowed |
|---|---|---|
Radius (m) radius | 250 | 1 to 10000, step 10 |
Directions directions | 16 | 8, 16 |
Strength strength | 1 | 0 to 4, step 0.05 |
Measure scale (m) measureScale | 15 | 0 to 1000, step 1 |
Relative height selector
Type RelativeHeight.
Select by relative height instead of absolute metres, so the selection survives changes upstream. Normalized: position between the robust low and high of this terrain. Height above drainage: metres above the nearest stream. Topographic position: valley (low) to ridge (high) at a neighbourhood radius. The band is in the 0..1 units of the value output.
- Inputs:
terrain(elevation) - Outputs:
mask(mask),value(mask)
| Parameter | Default | Allowed |
|---|---|---|
Measure mode | normalized | normalized, hand, tpi |
From (0..1) low | 0 | 0 to 1, step 0.01 |
To (0..1) high | 0.3 | 0 to 1, step 0.01 |
Feather (0..1) feather | 0.1 | 0 to 1, step 0.01 |
Normalized: low percentile lowPercentile | 1 | 0 to 50, step 0.5 |
Normalized: high percentile highPercentile | 99 | 50 to 100, step 0.5 |
Drainage: channel threshold (m²) channelArea | 200000 | 100 to 10000000000, step 10000 |
Drainage: value 1 at (m) handRange | 100 | 0.1 to 5000, step 1 |
Position: radius (m) radius | 500 | 10 to 20000, step 10 |
Position: value 0/1 at (std. dev.) tpiRange | 2 | 0.1 to 10, step 0.1 |
Rock map
Type RockMap.
Where bare rock shows: steep faces above the angle where soil holds, and convex crests and edges on steep ground, plus an optional exposed-rock input. Slope and curvature are measured over a scale in metres, so preview and build grids agree.
- Inputs:
terrain(elevation),exposedRock(mask, optional) - Outputs:
mask(mask)
| Parameter | Default | Allowed |
|---|---|---|
Measure scale (m) measureScale | 20 | 0 to 1000, step 1 |
Rock starts at (°) rockSlope | 32 | 0 to 89, step 1 |
All rock above (°) cliffSlope | 50 | 1 to 90, step 1 |
Crests weight convexityWeight | 0.5 | 0 to 2, step 0.05 |
Curvature white at (1/m) curvatureRef | 0.004 | 0.0001 to 1, step 0.0005 |
Exposed rock weight exposedWeight | 1 | 0 to 4, step 0.05 |
Soil map
Type SoilMap.
Where soil and sediment lie: gentle slopes, hollows and valley floors, drainage paths and deposition. Slope and curvature are measured over a scale in metres and flow by specific catchment area, so preview and build grids agree. Without a flow input the node routes the terrain itself.
- Inputs:
terrain(elevation),flow(mask, optional),deposition(mask, optional) - Outputs:
mask(mask)
| Parameter | Default | Allowed |
|---|---|---|
Measure scale (m) measureScale | 20 | 0 to 1000, step 1 |
Full soil below (°) soilSlope | 20 | 0 to 89, step 1 |
Bare above (°) bareSlope | 40 | 1 to 90, step 1 |
Soil on plain slopes baseSoil | 0.5 | 0 to 1, step 0.05 |
Hollows weight concavityWeight | 0.35 | 0 to 1, step 0.05 |
Curvature white at (1/m) curvatureRef | 0.004 | 0.0001 to 1, step 0.0005 |
Flow weight flowWeight | 0.35 | 0 to 1, step 0.05 |
Flow white at catchment (m) flowRef | 5000 | 1 to 10000000, step 100 |
Deposition weight depositionWeight | 1 | 0 to 4, step 0.05 |
Color
Colour and packed-data outputs for materials. They do not change the terrain.
Terrain palette
Type Palette.
Map terrain elevation or an optional mask guide through an original five-color ramp. These are authored palettes, not satellite imagery.
- Inputs:
terrain(elevation),guide(mask, optional) - Outputs:
color(colour)
| Parameter | Default | Allowed |
|---|---|---|
Palette palette | alpine | alpine, desert, moss, volcanic, custom |
Elevation range range | relative | relative, absolute |
Low elevation (m) low | 0 | -10000 to 20000, step 50 |
High elevation (m) high | 2200 | -10000 to 20000, step 50 |
Guide enhancement enhance | none | none, autolevel, equalize |
Ramp bias bias | 1 | 0.1 to 8, step 0.05 |
Reverse ramp reverse | off | on or off |
Custom color at 0% color0 | #343e29 | an sRGB colour |
Custom color at 25% color1 | #667047 | an sRGB colour |
Custom color at 50% color2 | #948977 | an sRGB colour |
Custom color at 75% color3 | #c3bcae | an sRGB colour |
Custom color at 100% color4 | #e7e8e3 | an sRGB colour |
Solid color
Type SolidColor.
A uniform sRGB color for masked biome and surface layers.
- Inputs: none
- Outputs:
color(colour)
| Parameter | Default | Allowed |
|---|---|---|
Color color | #aaa08c | an sRGB colour |
Two-color tint
Type Tint.
Map a mask between two sRGB colors. Input enhancement is explicit and off by default.
- Inputs:
mask(mask) - Outputs:
color(colour)
| Parameter | Default | Allowed |
|---|---|---|
Dark color start | #3c4933 | an sRGB colour |
Light color end | #ded5b6 | an sRGB colour |
Mask enhancement enhance | none | none, autolevel, equalize |
Reverse ramp reverse | off | on or off |
Blend colors
Type ColorCombine.
Blend two color layers through opacity and an optional mask. Linear-light mixing is the default; artistic sRGB blending is also available.
- Inputs:
a(colour),b(colour),mask(mask, optional) - Outputs:
color(colour)
| Parameter | Default | Allowed |
|---|---|---|
Operation mode | mix | mix, multiply, screen, overlay, soft_light, hard_light, add, subtract, difference, min, max |
Opacity amount | 1 | 0 to 1, step 0.05 |
Blend space space | linear | linear, srgb |
Adjust color
Type ColorAdjust.
Hue rotation, saturation, lightness and gamma for sRGB colors. A mask limits adjustments; packed data is a separate type.
- Inputs:
color(colour),mask(mask, optional) - Outputs:
color(colour)
| Parameter | Default | Allowed |
|---|---|---|
Hue shift (°) hue | 0 | -360 to 360, step 5 |
Saturation scale saturation | 1 | 0 to 3, step 0.05 |
Lightness shift lightness | 0 | -1 to 1, step 0.05 |
Gamma gamma | 1 | 0.1 to 5, step 0.05 |
Pack RGB masks
Type RGBMerge.
Pack R/G/B masks as linear data. No gamma conversion. Each channel can optionally be enhanced; leave None for calibrated masks.
- Inputs:
r(mask),g(mask),b(mask) - Outputs:
packed(RGB data)
| Parameter | Default | Allowed |
|---|---|---|
R enhancement enhancer | none | none, autolevel, equalize |
G enhancement enhanceg | none | none, autolevel, equalize |
B enhancement enhanceb | none | none, autolevel, equalize |
Unpack RGB masks
Type RGBSplit.
Recover the exact R/G/B masks from packed linear data. The average output is an arithmetic mean. Color textures are a distinct type.
- Inputs:
packed(RGB data) - Outputs:
r(mask),g(mask),b(mask),average(mask)
No parameters.
Export
The node whose terrain becomes the build output.
Terrain output
Type Output.
The height field used for builds. Water routing and paint maps run after this node.
- Inputs:
terrain(elevation) - Outputs:
terrain(elevation)
No parameters.
Getting started
Install TerrainForge, start a Terrain Definition from a preset, preview it, build a take and import it as a World Partition landscape.
Real-world terrain
Pick a square of the Earth on the map, see which sources cover it, and import its elevation, land cover and OpenStreetMap features into a Terrain Definition.