Files
WoWee/include/rendering
Kelsi db7dcb6c24 feat(water): froth and wake at the surface; draw spray on top of the water
Three separate faults were keeping the water's edge dry-looking.

The spray was being painted over. Water moved into a pass of its own today
so the refraction copy could be taken before it, but the swim effects still
recorded into the scene pass, which now runs first — so the droplets ended
up under the sheet. Shallow shore water hid them only partly, because its
alpha sits near the 0.15 floor; the deeper water you swim in hid them
completely. The spray now draws in the continuation pass right after the
water, with its pipelines built for that pass (single-sampled in both
arrangements) and a flag so a mode change cannot record them into a pass
they do not match.

The wading spray never spawned at all. It shared rippleSpawnAccum with the
swimming spray, whose else-branch zeroes that accumulator on every frame it
is not swimming — so a 30/s rate could only ever reach 0.5 in a frame and
never crossed the threshold. It has its own accumulator now. Its travel
direction was also rotated 90 degrees: forward from yaw is (cos, sin), as
the camera controller derives it, not (sin, -cos).

Neither of those puts froth on the water, though, which is what churned
water actually looks like. Wake points are laid down along the path and
handed to the water shader, where they read as aerated white water broken
up by the same cellular octaves the shoreline foam uses. Wading drops one
churned patch per stride; swimming emits a pair off the shoulders that
drift apart as they age, which is the V. Points age out, spread as they go,
and carry a bounding circle so every other water pixel on screen rejects
the trail in one test.
2026-07-31 12:23:47 -07:00
..