FFT-based ocean-wave rendering, implemented in Godot
Overall reception
- Many commenters find the demo stunning, “National Geographic”-level, and the best real‑time ocean they’ve seen.
- Several emphasize how remarkable it is that this runs interactively; effects that once took days of offline rendering now update in real time.
- Some want it as a lock screen or ambient display and note it strongly increases their interest in graphics and Godot.
Visual realism and perceived issues
- Multiple people with sailing or coastal experience say the waves look too steep, tall, and pointy, more like mountains or syrup than water.
- Critiques include: lack of breaking waves, overly sharp crests, foam shooting straight up instead of curling, missing darker wind‑patch patterns, and high‑frequency ripples riding unrealistically on longer swells.
- Others say that at a glance it’s convincing, especially the swell motion, though still in the “uncanny valley.”
- Clarification is given that this targets open‑ocean swell; breaking and spray are post‑effects, not fully physical.
Technical approach (FFT, spectra, Gerstner)
- The approach uses inverse FFT: generate wave spectra in frequency space, then transform back to get a time‑domain surface.
- Commenters note this is based on 20‑year‑old ocean‑simulation research, now just done in real time.
- Discussion contrasts FFT‑based oceans with Gerstner (trochoidal) waves: Gerstner is simpler and cheaper, FFT more physically grounded.
- Several highlight that this is linear superposition; it breaks down for very large, nonlinear or rogue waves and does not model full CFD phenomena like vortices.
Engine, implementation, and performance
- Godot is praised as open source with a strong community; some say switching to it unlocked long‑stalled projects.
- The project is a standard Godot project; users report it runs impressively on their machines.
- One comment notes the main mesh is ~330k vertices; foam particles might be optimizable by emitting only where foam density is high.
Interaction with objects and gameplay
- A key limitation raised: FFT grids make local interactions (ships cutting waves, reflections from obstacles, shoreline effects) difficult.
- Linked papers suggest combining FFT with convolution‑based methods; others suggest gameplay hacks via sampling the heightfield and adding particle effects.
- Some worry this may limit use to background oceans rather than tightly interacting gameplay.
Learning, math, and motivation
- Questions about the math lead to explanations referencing Fourier transforms, signal processing, and understanding time vs frequency domains.
- Several commenters reflect that projects like this rekindle interest in “fun” graphics work versus routine application glue code, with encouragement to pursue such explorations gradually.