# Ocean Wave Rendering

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?

• 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 Dec 8, 2016 at 18:46
• Update link from @Alan 's comment developer.nvidia.com/gpugems/GPUGems/gpugems_ch01.html Sep 5, 2018 at 12:14

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.