FFT Ocean simulation [Share tox]


This composant allows you to simulate ocean waves in realtime.
The rendering is optimised by using the Inverse Fast Fourrier Transform algorithm.
This allows you to change, on the fly, parameters like the wind force, the viscosity of the waves, the field size, etc.


VIDEO: Vimeo



Credit & references

All the math behind was strongly inspired by the creator of OREON ENGINE thanks to his share on the subject:

For more theorical infos, check the original paper writen by Jerry Tessendorf:


FFTOcean.tox (28.4 KB)


This is fantastic, thank you!

1 Like

Beautiful! And runs so smoothly too.

Is there a way for a noob to change the style to a PBR-like surface material to make it look like actual water?

1 Like

you can, I started fiddling around with it, but haven’t gotten it all worked out yet. I think the ideal solution is to generate a physically accurate normal map representing real angles of the geometry.

FFTOcean_pbrWIP.tox (28.2 KB)


Hello @devart.space and thank you so much for this porting/contribution!

I just downloaded it and running in TD 2022.24200 and I get strange simulation behaviors:

I also noticed a couple of warnings about normals, inside the spectrum_to_waves base:

Do you have any idea what it could be?

Ps: I have similar issues with the @lucasm version

Thanks again!


1 Like

Hi roberto,

The problem comes from a bug with uTDPass on your version. This bug has been fixed on the Build 2022.29530 - Oct 19, 2022.

So if you update your TD with this version or higher, the problem is solved.

I updated 2 or 3 things so you also can download the tox last version.

Thank you so much for your comment :slight_smile:

Have a nice day !

Thank you so much for looking into this!

I will try again with the updated version then.

Have a great weekend!