Baltor Get started

Gallery / Procedural textures

Sand ripples and dunes

In your harnessProcedural textureMIT

Generate tileable PBR maps of sand with wind or water ripples: asymmetric crests that bend, fork and merge, dark minerals in the troughs, optional dune swells and wet sand. Use for beaches, deserts and riverbeds.

Render of Sand ripples and dunes
The render its check recorded in Godot 4.7.2, 256 by 256 pixels.

What it takes and gives

Entry point
generate
Maps
albedo, normal, roughness, height, ao
Parameters
ripples, direction, meander, asymmetry, dune_swell, trough_minerals, wetness, hue_shift and 2 more
Presets
default, tidal_wet, desert_dunes, white_gypsum
Tileable
yes
Command line
python sand_ripples.py --size 1024 --seed 7 --preset NAME --out DIR [--width W --height H] [--set NAME=VALUE] [--directx-normal] [--orm]
Godot material
material.tres
Blender builder
blender_material.build_material(folder)

Limits. Ripple direction is limited to four whole-tile directions so the texture repeats. Ripples are a phase field, not a sediment simulation, and do not respond to obstacles. Dune swells are low-frequency height only. Occlusion is a blurred-height estimate.

Details

Kind
Procedural texture
Engine
Python 3.10 or later
Files
12 files, 227.6 KB
Licence
MIT
Declared effects
runs commands, writes files
Checked with
Godot 4.7.2, gl_compatibility
Checks
command line generates declared maps, maps decode, maps have declared size and channels, maps tile without a seam, normal vectors unit length facing out, maps carry detail, godot imports the maps, godot material template loads every map, godot compatibility render, capture shows the textured surface, blender builds the material
Techniques
Periodic phase along an integer direction, Asymmetric stoss and lee ripple profile, Phase warping with tileable fractional Brownian motion, Trough darkening from the ripple profile, Height to tangent-space normal by central differences
Tags
texture, pbr, tileable, sand, ripples, dunes, beach, procedural
Identity
library.supply.creative_originals.ee30c1c2bb2e8d091eeebf89.19ef370d1a947388
Version
19ef370d1a9473882410eb6172c62cc5c1586d3cba943040ba18ed587a757608

The version is the SHA-256 of the item your harness downloads; every file in it names its own checksum.

Something wrong with this item, its rights or its safety? Report it on the support page, or from your harness after a download.