Multi-Band Fourier Synthesis of Ocean Waves
Realistic simulations of the ocean surface based on statistical wave
models typically rely on very large Fourier grids. Real-time requirements
severely limit the size of the grids that can be used, even if the FFT is
implemented on the GPU. Moreover, none of the grids used so far are
sufficient for capturing the entire dynamic range of ocean waves, which can
easily span four to five orders of magnitude. Adaptive approaches that do
not require the wave number samples to be equidistantly spaced offer greater
flexibility, but they are not able to benefit from the computational
efficiency of the FFT.
The multi-band approach we propose removes the FFT as the computational
bottleneck of sea surface simulations. By splitting the wave number range
into a small number of non-overlapping, relatively narrow bands within which
the samples are equidistantly spaced allows making use of the FFT while
having some of the flexibility of the adaptive approaches that concentrate
wave number samples in high-energy regions of the spectrum. A wide range of
wave numbers can be modelled at a small fraction of the computational costs
of the single-band approach, making the algorithm highly suitable for
real-time applications, such as computer games and naval and flight
simulators.
Seen on the right is an example of a multi-band simulation employing four
64×64 grids that span a dynamic range of more than four orders of
magnitude. On current hardware, simulation and display proceed at 200 frames
per second. Also shown are single-band simulations that share the smallest
and the largest wave numbers, respectively, with the multi-band approach.
The simulations using 128×128 grids are approximately as fast as the
multi-band one; those using 1024×1024 grids run over one hundred times
slower.
Publication
G. LeBlanc, A. Shouldice, D. V. Arnold, and S. Brooks
Multi-band
Fourier synthesis of ocean waves
Journal of Graphics Tools, 16(2):57-70, 2012.
Code
A Matlab/Octave script that implements the multi-band approach can be
found here.
Support
This research is supported through grants from the Natural Sciences and
Engineering Research Council of Canada (NSERC) and the Canada Foundation
for Innovation (CFI).
|