A C++ source that could easily be ported is e.g. available as part of the Houdini Ocean Toolkit here: https://github.com/eloop/hot A nice property of this algorithm is that it outputs parameters that can be used to drive foam (shading) and spray (particles).