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.