tid_ocean
Open-ocean surface shader for the tides part, applied to a `Geo.grid` mesh (dense core, geometrically expanding rim). The vertex stage displaces the grid with a six-wave Gerstner sum — one long swell rolling toward the camera, two secondary swells, three chop bands — and passes t…
tid_ocean
Open-ocean surface shader for the tides part, applied to a Geo.grid mesh
(dense core, geometrically expanding rim). The vertex stage displaces the
grid with a six-wave Gerstner sum — one long swell rolling toward the camera,
two secondary swells, three chop bands — and passes the undisplaced field
coordinates to the fragment stage through uv.
The fragment stage recomputes the analytic Gerstner normal per pixel, layers
two octaves of scrolling detail chop plus a micro glitter jitter, and blends
by fresnel between the deep-water body (crest subsurface glow looking into
the sun, sea_scatter × sss_strength) and a reflection of sky_env — the
same sunset environment tid_sky renders, so the water mirrors the dome
exactly. The HDR sun disk inside that reflection, scattered by the jittered
normals, forms the glitter path; glitter_boost adds a music-reactive
sparkle lobe on top.
Whitecap foam rises from the Gerstner crest factor; foam0..foam5
(x, z, radius, strength in field space) add churning collars around whatever
pierces the surface — the part feeds them the chrome ring's waterline points
and the glass monolith bases. game_t drives every animation so director
seeks land deterministically. Aerial perspective melts far water into the
same horizon color the dome shows at eye level.
Scoped to this part · feeds back into the world's score.