Just to let you guys know that I’ve started my project of implementing the elegant iWave algorithm by Jerry Tessendorf in Blender. iWave is a 2D grid solver that is able to simulate waves produced by sources interacting with obstructions.
I’ve been writing the Python implementation for couple days now and I just got the first vertex moving! (nothing to show yet really). The second part of the project will be a collaboration between Lukas Toenne, designer of the new Node Tree, and me.
The goal will be to integrate iWave natively in the Node Tree, making it work as fast and as integrated as possible.
@jackred - the iWave feature is something that generates waves in the mesh based on interaction/collision between an object(ie. a boat) and the water mesh. The Ocean Sim tool is something that creates more general ambient waves for the mesh. A layered effect using both tools would be the way to go when shooting a scene with a boat moving through ocean water (see this link for a scene using the HOT ocean sim layered with a high resolution fluid sim in NAIAD). The iWave feature was on my wishlist for the Ocean Sim project, but we won’t be getting to it, and Daniel has already started working on it, which is awesome!
Hi there! I’ve been busy the last few days and a stupid bug got me kinda down… luckily Lukas Toenne was able to figure out what it was after hours of tests (it was something really dumb as usual) and here it is, the first version that actually looks like water and not like an atomic explosion :evilgrin:
That mirror effect should not be there btw… yet another bug
The mirror effect was actually a problem in the construction of the grid mesh. Here it is working correctly with a custom source and obstacle. Those interference patterns are cause by current handling of the boundaries
and with a catmull-clark subdiv on top for extra eyecandy
Hi, sure, I’m following the nodetree development very closely ATM, pestering Lukas Toenne with all the design issues. He is currently focusing on subtrees that’ll allow things like modifiers to be ported to the tree. Also derived mesh access is pretty strong now in the nodetree but more is needed like stronger custom data handling. At this point I’m happy with the working py implementation and will wait until I can start experimenting with the port