Procedural triplanar rock with surface-gradient bump
In your harnessGodot shaderMIT
Rock material for meshes without usable UVs: layered and ridged noise projected along the three world axes and blended by the normal, with crevice darkening and screen-space bump mapping from the same height.

What it takes and gives
- Shader type
- spatial
- Parameters
- rock_light (vec4 = 0.58, 0.55, 0.5, 1), rock_dark (vec4 = 0.3, 0.28, 0.26, 1), crevice_color (vec4 = 0.12, 0.11, 0.1, 1), scale (float = 1.6), blend_sharpness (float = 6), crack_amount (float = 0.5), bump_strength (float = 1.2), roughness (float = 0.9)
- Result
- Grey-brown stone with darker cracks and bumpy lighting that wraps seamlessly around any shape.
- Renderers
- compatibility: compiled and rendered, forward plus: not verified, mobile: not verified
- Placement
- res://baltor/godot_shaders/triplanar_rock/
Limits. The pattern is fixed in world space: moving the object slides it through the texture (use object space for movable props). Screen-space bumps can shimmer on distant or tiny surfaces and are flat in shadow. Three projections cost three times the noise.
Details
- Kind
- Godot shader
- Engine
- Godot 4.3 or later
- Files
- 11 files, 73.0 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
- Triplanar projection with normal-power blend weights, Bump mapping with the surface gradient from screen-space derivatives (Mikkelsen 2010), Value noise with quintic interpolation and fractional Brownian motion, Ridged noise cracks
- Tags
- godot shader, spatial, rock, triplanar, procedural, bump mapping, stone
- Identity
library.supply.creative_originals.d54d132ab1e271ffa9b4f6ae.779bfc7060f06c2c- Version
779bfc7060f06c2c875014fa253f69a87a411a8de1585b91a6f681484da3526e
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.

