water.frag takes u_wade - a point and a strength - and puts spreading rings and a patch of churn into the surface normals there, so a wader marks the water and a swimmer works the whole of it. It is one uniform in a fragment stage that was already running, applied after the distance flattening so a disturbance close to the camera survives it, and it measures no frame cost at all. Also records the two renderer features that shipped without a changeset. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
557 B
557 B
bump: minor
type: feat
The world answers to a body standing in it. grass_push(x, z, r) bends every blade
within a radius away from a point and presses it down, so a walker opens a bow wave
through a meadow instead of passing through it; water_wade(x, z, strength) puts
spreading rings and a patch of churn into the lake's normals at a point, so a wader
marks the surface and a swimmer disturbs the whole of it. Both are one uniform each
(u_push, u_wade) read in the vertex and fragment stage that was already running -
no extra pass, no extra draw.