Gerstner ocean storm
Build a Three.js ocean in your own GLSL shaders: a large water surface displaced on the GPU by a sum of Gerstner waves, with foam on the crests, fresnel refl…
More
1 test · 1 finished runs (1 agent, 0 raw one-shot) · 1 live demo
The prompt
Build a Three.js ocean in your own GLSL shaders: a large water surface displaced on the GPU by a sum of Gerstner waves, with foam on the crests, fresnel reflection of a procedural sky, subsurface tint in the troughs and sun glitter. A small fishing boat rides the waves, its height and tilt computed from the same wave function on the CPU so it never clips. A slider moves the weather from calm sunny day to night storm (bigger waves, rain streaks, lightning flashes, darker sky); drag to orbit the camera. Everything is built in code; no external models, textures or HDRIs. Build it as index.html (plus any local asset files you create) in the current directory, with no build step; three.js and any addons may load from a pinned CDN. It must run at a smooth frame rate on a mid-range phone and touch controls must work. You may serve it locally and open it in headless chromium (/usr/bin/chromium, software WebGL, no GPU) to screenshot and inspect your own output, and iterate on your own before finishing. Close any browser you open as soon as you've taken your screenshot. Finish with a short README.md describing the controls.
Same prompt, all models: step through 1 runsIn the gallery: one player, arrow keys or swipe.