NVIDIA WaveWorks enables developers to deliver a cinematic-quality ocean simulation for interactive applications. The simulation runs in the frequency domain using a spectral wave dispersion model. An inverse FFT step then transforms to the spatial domain ready for rendering. The NVIDIA WaveWorks simulation is initialized and controlled by a simple C API and the results are accessed for rendering through a HLSL shader API. Parameterization is via intuitive real-world variables, such as wind speed and direction. These parameters can be used to tune the look of the sea surface for a wide variety of conditions – from gentle ripples to a heavy storm-tossed ocean based on the Beaufort scale.
Tessendorf’s spectral algorithm, based on Phillips spectrum
Quad-tree tile-based LoDing
A "no graphics" path for clients (MMO servers)