mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-08-01 10:21:34 -04:00
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.