Realistic Shoreline Waves runs the nonlinear shallow water equations on your GPU inside Godot 4.7. Nothing is a scrolling texture: waves shoal because the sea floor rises, break because the equations form bores, and foam rides the actual current field around rocks and walls.
The solver is a second-order central-upwind finite-volume scheme (Kurganov and Petrova, 2007): positivity-preserving at the moving waterline, well-balanced on sloped beds, shock-capturing in the surf zone. It conserves water volume to six digits in the built-in test box, and a diagnostics readout prints volume, peak speeds, and stability counters while you play.
Three demos are included. The beach demo runs 608 x 608 cells at 5 cm resolution: breaking waves, foam lace, wet sand that darkens and dries, a quay wall with textbook wave reflection, and a dam-break test scene. The island demo runs 4.2 million cells over 2 x 2 km: four islands, a submerged shoal, a breakwater the big sets pour over, a terraced rock shelf, and a boulder shore, with a short-crested sea and solver surf on every coastline. The open-ocean demo is a standalone Gerstner shader: eight trochoidal components with physical dispersion and whitecaps from the wave math, at hundreds of FPS.
Setup: drop a Godot 4.7 Windows binary into the folder and run a launcher, or open it as a Godot project. The simulation exposes its state as zero-copy GPU textures you can bind to any material; the included HTML manual covers integration with working GDScript examples, custom shorelines, every tuning value, performance scaling, and the scientific references behind the method.
Measured on an RTX 4070 laptop at 1080p: beach 60 fps, island about 28 fps, open ocean 200+ fps. Requires the Forward+ renderer and a desktop-class GPU; verified on Windows.
Free. MIT-licensed code and shaders, CC0 assets from Poly Haven. Use it in anything, commercial included.
Changelog for version 1.0
No changelog provided for this version.