storm_stone
Procedural rain-soaked ashlar masonry in world space: courses of blocks with per-block tint, bevelled joints, weathering streaks, lichen and running water that darkens the stone and drops its roughness. It is an engine-lit `surface()` shader that fills a `PbrSurface`.
storm_stone
Procedural rain-soaked ashlar masonry in world space: courses of blocks with per-block tint,
bevelled joints, weathering streaks, lichen and running water that darkens the stone and drops its
roughness. It is an engine-lit surface() shader that fills a PbrSurface.
The shader projects each face onto the plane it lies in: XZ where the normal is within about 44
degrees of vertical (|n.y| > 0.72), otherwise the vertical plane facing X or Z, and scales the
result by scale. Courses are 0.46 high with blocks 0.8 to 1.5 wide and a random offset per course.
Each block is a slightly rounded, chiselled slab with a dark joint; the height of the slab, the
chisel and a fine grain bend the normal by bump. Joints and bump fade out where the pattern gets
too fine for the screen (measured with fwidth), where the colour also eases toward a flat grey
(0.21, 0.20, 0.20). The stone is a cool grey with warm variation per block, dark vertical stains
hang from the joints, and green lichen and grime creep up from the plinth below world height 7.
Water sheets down the walls in streaks that slide with time: wetness is 0.7 of wet between the
streaks and rises along them, darkening the albedo by up to half and dropping roughness from 0.9 to
0.16 (1.35 times that in the joints). Reflectance is 0.6 and occlusion is lower in the joints.
The tower graph (storm/tower.procGraph) builds the stone keep of the Procgen Effects Showcase world's fx_storm scene with it
through stoneMat, with scale 1.0, wet 0.9 and bump 1.0.
Properties
| Property | Type | Default | Meaning |
|---|---|---|---|
scale | float | 1.0 | Scale of the masonry pattern; larger values give smaller blocks (range 0.2 to 4). |
bump | float | 1.0 | Strength of the bump normal (range 0 to 4). |
wet | float | 0.85 | How soaked the stone is, 0 dry to 1 streaming. |
Scoped to this part · feeds back into the world's score.