Σ k·chop of the waves (normalises whitecaps).
deepColor.
detail.
Unit drift direction of the ripples (x, z).
detailScale, metres.
detailSpeed, m/s.
environmentIntensity.
Seconds per flow-map cycle (rivers).
foam, 0 … 1.
foamColor.
foamWidth, metres.
Vertex spacing per metre of distance (2π / segments for the ocean rings; 0 = uniform grid).
Smallest vertex spacing, metres. Waves shorter than ~3 spacings fade out in the vertex stage.
Multiplier from geometry x/z to tangent-plane metres (the ocean's ring scale).
horizonColor.
Surface distance beyond which vertices are clamped (the horizon on planets).
Sphere radius the surface bends to (sea radius on planets; huge = flat).
Flow speed (m/s) where river rapids start foaming.
reflectivity (F0).
refraction.
roughness.
shallowColor.
skyColor.
specular.
Sun colour × intensity.
Direction towards the sun, world space.
tan(fov / 2) of the camera, for the per-pixel detail fade.
Seconds, advanced by the owner's update().
visibility, metres.
Per wave: direction x, direction z, wavenumber k, amplitude.
Per wave: horizontal amplitude (chop), phase (radians, includes −ωt), unused, unused.
Active entries in waveA/waveB.
Whitecap amount 0 … 1 (oceans and lakes).
Builds a water material.
'waves'(oceans, lakes): geometry x/z (×gridScale) are tangent-plane metres and y a base height; the vertex stage sums Gerstner waves on that grid and bends it onto the sea sphere; the fragment stage re-evaluates the waves per pixel for crisp normals, fading each wave once it is smaller than a few pixels (or vertices) so the far sea never aliases.'flow'(rivers): flat geometry with per-vertexaFlow(velocity, m/s, x/z) andaLocal(continuous x/z for noise); flow-mapped ripples and foam move downstream.Both share the shading: Fresnel reflection of the environment or sky, GGX sun glint, refraction of the scene behind, depth-based absorption from shallow to deep colour, and shoreline foam.