Procedural planet surface with oceans, biomes and ice caps
In your harnessGodot shaderMIT
Paint a whole planet on a sphere from 3D noise of the surface direction: oceans with shallow coasts, land coloured by height and latitude, ridged mountains, polar ice caps and glossy water, with optional slow spin.

What it takes and gives
- Shader type
- spatial
- Parameters
- deep_ocean (vec4 = 0.02, 0.08, 0.25, 1), shallow_ocean (vec4 = 0.08, 0.35, 0.55, 1), lowland (vec4 = 0.2, 0.42, 0.16, 1), desert (vec4 = 0.78, 0.66, 0.4, 1), highland (vec4 = 0.45, 0.38, 0.3, 1), ice (vec4 = 0.94, 0.96, 1, 1), continent_scale (float = 1.8), sea_level (float = 0.52) and 5 more
- Use it on
- A sphere centred on its origin (directions come from vertex positions).
- Result
- A rotating Earth-like planet with blue oceans, green and tan continents, brown highlands and white poles.
- Renderers
- compatibility: compiled and rendered, forward plus: not verified, mobile: not verified
- Placement
- res://baltor/godot_shaders/procedural_planet_surface/
Limits. Colour only: the surface is not displaced and has no normal relief. About thirteen octaves of 3D value noise per pixel are costly for full-screen planets. Biomes follow simple rules (height, latitude, one dryness noise), not climate.
Details
- Kind
- Godot shader
- Engine
- Godot 4.3 or later
- Files
- 11 files, 65.5 KB
- Licence
- MIT
- Declared effects
- reads files, runs commands
- Checked with
- Godot 4.7.2, opengl3 compatibility (Mesa llvmpipe, Xvfb)
- Checks
- contract static, engine run, engine log clean, shader in scene, capture written, render not uniform, shader changes pixels
- Techniques
- 3D fractional Brownian motion on the unit sphere, Ridged noise mountain chains, Height and latitude biome rules, Value noise with quintic interpolation and fractional Brownian motion
- Tags
- godot shader, spatial, planet, procedural, space, biomes, noise
- Identity
library.supply.creative_originals.0975f5f7d47cccd3f5f92504.9bcd9ba688132729- Version
9bcd9ba688132729f124ab79e0b1be8b2b4f90535bac11caaf231ccb09fa460a
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.


