Simulating Ocean Water
📜 Abstract
Broadly, the reader should come away from this material with 1. an understanding of the important physical concepts for ocean surface propagation, most notably the concept of dispersion and types of dispersion relationships. 2. an understanding of some algorithms that generate/animate water surface height fields suitable for modeling waves as big as storm surges and as small as tiny capillaries; 3. an understanding of the basic optical processes of reflection and refraction from a water surface; 4. an introduction to the color filtering behavior of ocean water; 5. an introduction to complex lighting effects known as caustics and godrays, produced when sunlight passes through the rough surface into the water volume underneath; and 6. some rules of thumb for which choices make nice looking images and what are the tradeoffs of quality versus computational resources. Some example shaders are provided, and example renderings demonstrate the content of the discussion.
✨ Summary
The document presents a practical, phenomenological framework for simulating and rendering ocean surfaces rather than solving the full three-dimensional fluid equations. It contrasts computational fluid dynamics, smoothed particle hydrodynamics, and surface-focused methods, arguing that each is appropriate for different motion regimes. The principal synthesis method represents ocean height as a statistically generated superposition of Fourier components, uses oceanographic wave spectra and dispersion relations to control amplitudes and temporal evolution, and applies inverse fast Fourier transforms to obtain tiled height fields. The notes also describe Gerstner-wave formulations, exact spectral slope computation for surface normals, choppy-wave displacement, and practical considerations involving grid resolution, patch size, repeat periods, and computational cost.
The rendering treatment models the principal optical effects needed for convincing ocean imagery: Fresnel reflection and refraction, underwater attenuation and scattering, color filtering, caustics, and sunbeams. The approach deliberately omits or simplifies phenomena such as topological breakup, detailed breaking waves, spray, foam, wakes, splashes, polarization, and fully coupled global illumination. The paper therefore provides a scalable visual-simulation method with strong realism for broad ocean surfaces, but it is not a general-purpose fluid solver. (jtessen.people.clemson.edu)
The method became a commonly reused foundation for later real-time ocean systems. NVIDIA’s GPU Gems water chapter explicitly identifies Tessendorf’s FFT approach as a source of realistic ocean synthesis and reports deployment of a related GPU water system in Uru: Ages Beyond Myst. (developer.nvidia.com) NVIDIA’s WaveWorks later retained the same broad frequency-domain and inverse-FFT architecture while adding spectral wind-wave models, interactive waves, foam, level-of-detail controls, and production-oriented rendering features. (developer.nvidia.com) Subsequent graphics research, including Horvath’s 2015 work on empirical directional spectra, explicitly builds on the spectral ocean-synthesis techniques popularized by Tessendorf and extends them to improve parameter control across wind speeds, depths, and swell conditions. (researchgate.net)