Baltor Get started

Gallery / Godot shaders

Procedural wood with growth rings and grain

In your harnessGodot shaderMIT

Solid wood from object-space 3D math: growth rings around a trunk axis with noisy distortion, sharp latewood bands, fine grain streaks along the axis and per-ring colour variation, so cut ends and long sides both read correctly.

Render of Procedural wood with growth rings and grain
The render its check recorded in Godot 4.7.2, 256 by 256 pixels.

What it takes and gives

Shader type
spatial
Parameters
early_wood (vec4 = 0.78, 0.56, 0.34, 1), late_wood (vec4 = 0.45, 0.26, 0.13, 1), ring_density (float = 18), ring_sharpness (float = 0.7), distortion (float = 0.6), grain_density (float = 140), grain_strength (float = 0.25), axis_tilt_degrees (float = 4) and 1 more
Use it on
A mesh whose object Z axis runs along the grain (rotate the node to change it).
Result
A plank with arched grain on top and a log end showing concentric growth rings.
Renderers
compatibility: compiled and rendered, forward plus: not verified, mobile: not verified
Placement
res://baltor/godot_shaders/wood_rings/

Limits. Solid texture in object space: scaling the object scales the rings. No knots, pores or normal relief. Rings are centred on the object origin; offset the mesh to move the pith.

Details

Kind
Godot shader
Engine
Godot 4.3 or later
Files
11 files, 72.3 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
Solid (3D) texturing, Distance-from-axis growth rings with noise distortion, Axis-stretched value noise grain, Value noise with quintic interpolation and fractional Brownian motion
Tags
godot shader, spatial, wood, procedural, growth rings, solid texture, material
Identity
library.supply.creative_originals.b5c141578f27577a6943b040.f78ebce7f9d22fcd
Version
f78ebce7f9d22fcdb3c00f7c392d2bb3968d7c9637e818b805f11958960ad368

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.