FCS News

» Go to news main

Ocean Graphics

Posted by CS Magazine on November 3, 2012 in Research, Faculty, News, Research, HCI, Visualization, Graphics

Originally shared in the Fall 2012 CS Magazine.

A great deal of film, television, gaming and various interactive simulators are now computer generated, but realistically simulating natural phenomena has been a continuous key challenge in computer graphics. Many animated movies no longer have artist painted skies, but showcase a realistic storm—or clouds—by computer program generation. The fact these films can look at all realistic is due to the achievements that have been made within the field of computer graphics.

Water is a particularly difficult natural phenomenon to mimic, as it is visually complex and constantly in motion. Generating ocean surfaces in real-time is complex because a person simultaneously wants to see far into the distance (large scale) while also clearly seeing fine details up close (small scale). Handling one or the other of these instances is not computationally expensive, but handling both requires the generation of a vast amount of visual information.

A statistical wave model is a common method of synthesizing ocean appearance. It is built up from wave frequencies that have been sampled with buoys from real oceans. These frequencies can then be converted into spatial waves using an inverse Fast Fourier Transform (FFT). Naïve methods typically rely on large Fourier grids to generate a very wide range of detail, from the very small to the very large. Real-time requirements severely limit the size of the grids that can be used, even if the FFT is implemented on the Graphics Processing Unit (GPU). Due to this, no grids that have been used to date are sufficient for capturing the entire dynamic range of ocean waves, which can easily span four to five orders of magnitude.

Undergraduate research students Graham LeBlanc and Andrew Shouldice are working with Dr. Dirk Arnold and Dr. Stephen Brooks, of the Faculty of Computer Science, to develop a multi-scale approach that removes the FFT as the computational bottleneck of sea surface simulations. They split the full range of wave sizes into a small number of relatively narrow bands. The FFT can be used to transform each of the bands, and the final synthesis occurs in the spatial domain. A wide range of wave sizes can be modeled at a small fraction of the computational cost, making the algorithm highly suitable for real-time applications such as computer games or simulators.

The image shown on the iPad above is an example of the multi-band simulation that uses four 64 by 64 Fourier grids that span a dynamic range of more than four orders of magnitude. It incorporates a wide range of wave sizes from the large, smooth waves to the small, detailed waves. The simulation runs at over 200 frames per second on current hardware. This is a much higher frame rate than is necessary for an interactive application and can be run at a lower frame rate to free computational resources for other application-specific tasks.


"This new approach will bring Hollywood-quality ocean rendering to your laptop," says Dr. Brooks.

A video simulation of ocean rendering can be seen here: http://web.cs.dal.ca/~sbrooks/projects/oceanRendering/