A beautiful ocean surface rendered with GLSL shaders featuring foam, moonlight reflections, Fresnel effect and subsurface scattering. Presets for calm seas, storms, ripples and tsunami — click to throw stones.
Gerstner waves with multiple frequency components. Fresnel equations control reflection/refraction balance. Foam appears where wave slopes exceed a threshold.
Choose a preset (calm, storm, ripple, tsunami). Click on the water to create ripple impacts. Watch moonlight reflections shift as waves move.
The Fresnel effect means you see more reflection at shallow angles and more refraction looking straight down — this is why distant water looks like a mirror while nearby water is transparent.