Geometry object for 3ds Max implementing the iWave ocean water simulation method.
C++ C
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
docs Updated docs Mar 17, 2015
.gitignore Updated .gitignore Aug 20, 2013

Check out an example on Vimeo! And to quickly get started, look at the documentation.

iWave Ocean Simulation Plugin

This plugin for Autodesk 3ds Max simulates both ambient waves and dynamic, collision-driven waves. To install it after compiling, simply copy the output iWaveOcean.dlo file to your 3ds Max plugins folder (for 3ds Max 2014, this should be C:\Program Files\Autodesk\3ds Max 2014\plugins), and copy the included libfftw3f-3.dll library to your 3ds Max application folder (e.g. C:\Program Files\Autodesk\3ds Max 2014).

If Visual Studio generates en-US folder containing language resources, you should copy it into the plugins folder as well. Without the language resource files, the plugin will load, but its UI will not appear properly.

In 3s Max, the plugin will appear in the Command Panel > Simulations category > iWaveOcean.

If you used a version of this plugin from before March 2015, please see the documentation for compatibility information. (In short, everything is compatible except for saved simulation data.)


Copyright (C) 2013-2015 by Steven Dao

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see [].

For more information, please see the LICENSE file included with the source code.


This plugin is designed to work with the Autodesk 3ds Max 2014 SDK or later. This SDK version requires that you have the Microsoft Visual Studio 2010 build tools installed. However, you can still use later versions of Visual Studio, such as VS 2012, to edit the project so long as you have the 2010 build tools on your system. Note that, in most cases, you cannot debug the plugin from VS using the "Debug" configuration, since you probably don't have the debug symbols for 3dsmax.exe. You will have to use the Hybrid configuration to load the debugger only for the plugin's code and not for Max.


The iWave plugin uses FFTW in order to simulate ambient waves using Tessendorf's FFT-based method. The FFTW binary DLLs are included in the src/fftw-3.3.3-dll64 folder.

The plugin uses algorithms published by Jerry Tessendorf, chief amongst which are the FFT method for simulating ambient waves and the iWave method for dynamical waves. The papers and course notes explaining these algorithms are available in the notes folder, or you can visit Tessendorf's website.

Known Issues

Please see the bug tracker for this project.