Gerstner ocean displacement

The development of my Gerstner based ocean displacement tools started as part of the Breaking Wave Tools.
As this kind of ocean displacement is very useful in itself to animate ocean surfaces it made sense to split them of into a separate set of tools.

Currently there are a number of variations of these tools:

  • surface displacement shader
  • geometry surface displacement
  • geometry attribute value generation
  • volumetric geometry displacement (useful on grids of points)
  • vector code library (use in the tools above)

In addition to the core tools I’ve developed a viewport controller tool that provides a graphical representation in the user interface and allows an animator to interactively tweak the parameters of the displacement tool and see the results animating in the same viewport. The performance of these tools is good enough to provide near realtime feedback on fairly big surfaces.

gerstner velocity field