Inner ring radius as a fraction of the camera's height above the sea (rounded down to a power of two).
Colour of deep water: what you see where the bottom is out of sight.
Strength of the procedural ripple normals added on top of the waves.
Ripple wavelength, metres.
Ripple drift speed, m/s.
Environment reflected (an equirect or cube texture, prefiltered for you). null = the sky colours. Object input.
Multiplier on environment reflections.
0 … 1 overall foam amount (shoreline, whitecaps and rapids).
Foam colour.
Water depth (metres) below which shoreline foam appears.
Sky colour reflected near the horizon when there is no environment.
Smallest inner ring radius, metres (the finest vertex spacing, right under the camera).
World position (planet-centred, metres) that is (0, 0, 0) in render space. Keep it near the camera for float32 precision.
Planet radius, metres, when no world is given; 0 = flat world.
Outer radius ÷ inner radius of the ring grid. Sets the ring count (≈ 330 at 1e7 and 128 segments).
Planets: distance (metres) the camera travels before the wave frame is re-anchored. Phases stay continuous.
Reflectance looking straight down (Fresnel F0); water is 0.02.
Screen-space refraction strength (0 = none).
Surface roughness 0 … 1 (blurs reflections and widens the sun glint). Grows by itself with distance.
Sea level, metres, when no world is given (a world's seaLevel wins).
Vertices around each ring. Vertex spacing ≈ distance × 2π / segments, so the grid looks the same at every scale.
Tint of light that crossed shallow water (#rrggbb).
Sky colour reflected near the zenith when there is no environment.
Multiplier on the sun's glint.
Light for the sun glint and daylight. null = the first DirectionalLight found in the scene. Object input.
Metres of water after which ~63% of the view through it is replaced by deepColor.
The wind sea.
0 … 1 foam on the sharpest crests.
Every setting of an Ocean. All optional on input; see OceanInput.