How could I generate the waves for a water body with whitecaps & foam and variable intensity of the waves? Is the surface a mesh with a normal map? Is there a formula for generating that? Is there something similar to determine where and how the whitecaps are rendered? I came across this paper but it's not very clear.

In the paper, I understand the part where it talks about wave generation. There is a section dedicated to whitecaps and foam and it does present a formula to generate them but how do you only apply it to the parts of the water that need it? Based on what I observed it just represents F as the area that will need whitecaps, could someone clarify how that works aswell?

  • 3
    $\begingroup$ This is an active area of research so there are a lot of different ways to do it, but as some quick info, from what I've seen, it's commonly both a normal map for small details, as well as vertex transformation for larger details. Gerstner waves are likely to be interesting to you, and this link probably as well: http.developer.nvidia.com/GPUGems/gpugems_ch01.html $\endgroup$
    – Alan Wolfe
    Commented Dec 8, 2016 at 18:46
  • 1
    $\begingroup$ Update link from @Alan 's comment developer.nvidia.com/gpugems/GPUGems/gpugems_ch01.html $\endgroup$
    – Rotem
    Commented Sep 5, 2018 at 12:14

1 Answer 1


In the paper you referenced $f$ refers to the fraction of water covered by foam that modifies optical properties on the water’s surface. It is explained on page 256 in: "Oceanic Whitecaps: Their Role in Air Sea Exchange Processes" (1986), by E. Monahan and G. MacNiocaill.

How could I generate the waves for a water body with whitecaps & foam and variable intensity of the waves?

There are more techniques for rendering oceans than there are oceans to render. Some are based on speed (with reasonable results) and some are based on accuracy. On the fourth page of "Deep Water Animation and Rendering" is a discussion of rendering foam, with the prior pages covering other calculations.

Maya has a number of preset demos that can be altered or you can start from scratch. See this YouTube tutorial "Crafting the Wave: How to Render an Ocean in Maya".

Which of those references is more applicable depends on: if you simply want to understand more about it, if you are writing your own software, or if you want to render realistic oceans without necessarily knowing all the calculations behind it.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.