aa_Ocean: Tessendorf Waves

User avatar
dbachmann
Posts: 24
Joined: 04 Jun 2009, 12:30
Location: Basel, Switzerland

aa_Ocean: Tessendorf Waves

Post by dbachmann » 05 Jun 2009, 12:41

aa Ocean Suite is a collection of Softimage ICE nodes and a mental ray shader that implements Jerry Tessendorf's paper on simulating ocean waves, which is currently the most widely used method for open water ocean surfacemodeling being used in the industry.

Image

http://warpedspace.org/aa_ocean.html

User avatar
owei
Administrator
Posts: 826
Joined: 03 Jun 2009, 17:25
Location: Siegen/Germany

Re: aa_Ocean: Tessendorf Waves

Post by owei » 07 Jun 2009, 16:19

...it´s a great compound with very cool features an FAST ;)

Here is one of the test I´m doing with it...

http://www.pixelpanic.de/temp/ocean.mov

..the movement of the ton is given by some certain ICE operations and the usage of the unsupported kinematics...

cheers,
oliver
You do not have the required permissions to view the files attached to this post.

User avatar
farhaad_yousefi
Posts: 178
Joined: 08 Jun 2009, 22:45
Location: tehran-iran

Re: aa_Ocean: Tessendorf Waves

Post by farhaad_yousefi » 10 Jun 2009, 02:17

owei wrote:...it´s a great compound with very cool features an FAST ;)

Here is one of the test I´m doing with it...

http://www.pixelpanic.de/temp/ocean.mov

..the movement of the ton is given by some certain ICE operations and the usage of the unsupported kinematics...

cheers,
oliver


awesome work by amaan akram..

Splinitian
Posts: 1
Joined: 14 Jul 2009, 18:57

Re: aa_Ocean: Tessendorf Waves

Post by Splinitian » 14 Jul 2009, 19:27

owei, would you mind explaining how did you manage to get that ton floating to work? I am trying to achive similar effect but dont't know where to start. I am not a realistic effect although.

Thanks! The aaOcean 0.9a version is sweet indeed :)

User avatar
owei
Administrator
Posts: 826
Joined: 03 Jun 2009, 17:25
Location: Siegen/Germany

Re: aa_Ocean: Tessendorf Waves

Post by owei » 15 Jul 2009, 13:48

Hi..!

It´s very simple. I´ve attached a compund to do this job. Just have a look inside.
You will have to connect a (water)surface, an overall positioner and a swimmer.

The compond looks at the points nearby the positioner and calculates an average of point positions and normals. These are given to the swimmer object. That´s it ;)
Of course you have to switch unsupported kinematics on..!

Hope this helps,
oliver
You do not have the required permissions to view the files attached to this post.

Victorcg
Posts: 91
Joined: 26 Jun 2009, 10:59

Re: aa_Ocean: Tessendorf Waves

Post by Victorcg » 20 Aug 2009, 10:06

Brilliant. I wish I could look inside this compound

User avatar
rlenz
Posts: 1
Joined: 26 Aug 2009, 14:05
Location: Munich/Germany

Re: aa_Ocean: Tessendorf Waves

Post by rlenz » 26 Aug 2009, 14:21

hi oliver!

thank you very much!

btw, using a second swimmer compound with a camera and keeping the interest contrained to the first swimmer object will produce a very nice "man-over-board" feeling.

cheers


robert

@Victorcg: you can check out oliver's compound. it's not private... or did you mean amaan's wicked ocean-compound? ;-)

User avatar
owei
Administrator
Posts: 826
Joined: 03 Jun 2009, 17:25
Location: Siegen/Germany

Re: aa_Ocean: Tessendorf Waves

Post by owei » 26 Aug 2009, 14:35

@lenz

that´s nice..! And a good idea, too.. I´m happy ;)

@Victorcg
...jap, mine is not private..that´s true. The aa_Ocean-compound contains a custom node, as far as I know..never the less, this one IS private...

cheers,
oliver

burg
Posts: 11
Joined: 09 Jun 2009, 21:08

Re: aa_Ocean: Tessendorf Waves

Post by burg » 19 Jan 2010, 14:40

Oliver!

That swimmer animation you rendered looks great! So I thought I'd give it ago. I just can't get my swimmer to move smoothly, it keeps rotating backwards and forwards erratically. What is the positioner? I have a null set as that, but what does it represent? Should it be parented to the swimmer? Anything I can do to smooth out this crazy rotation?

Thanks

Burg

amaan
Posts: 21
Joined: 09 Jun 2009, 22:13

Re: aa_Ocean: Tessendorf Waves

Post by amaan » 19 Jan 2010, 15:14

Hello everyone,

Sorry for the double-post from the xsilist--thought I'd post a quick update here too

I have updated the ocean plugin to version 1.5 This version is a complete re-write and is geared towards performance and workflow improvements. New features and improvements include

- 3 to 6 times faster than the last ICE version
- All ocean parameters are now animatable with little/no performance hit
- 3 new mental ray shaders that connect directly to ICE and render ocean data. New shaders for displacement, normal map shader (fixed from v0.9), foam and image-based vector displacement
- All shaders do render-time catmul-rom interpolation to produce smooth surfaces
- Ability to output EXR files via a renderfarm (EXR output is now done from shaders, and is still supported to allow renderers other than mental ray to render oceans)
- Ability to layer multiple ocean shaders on a surface to easily break up visible tiling. Each shader can either generate a high-resolution ocean based on ICE, or can be individually tweaked to produce variations

please note that this version is for XSI 2010 and beyond, and is not backwards compatible with v0.9a

As before, documentation and downloads at http://www.amaanakram.com/plugins/aaOce ... ocean.html

The download package now contains 2 sample scenes to show some sample rendering setups.

To run aaOcean Suite, you need to install the latest security patch from Microsoft for Visual Studio 2005 redistributable packges from
http://www.microsoft.com/downloads/deta ... laylang=en

Please do report any bug reports. Since this is a complete re-write, there must be some bugs lurking somewhere.

-amaan

User avatar
owei
Administrator
Posts: 826
Joined: 03 Jun 2009, 17:25
Location: Siegen/Germany

Re: aa_Ocean: Tessendorf Waves

Post by owei » 19 Jan 2010, 15:39

HI..!

@amaan
Great news..! Thanks for that..!!


@burg
Have you took a look into the compound..? There should be a "Direction to Rotation" node. There you will find an upvector. Fixing the axis should solve the problem I think..

cheers,
oliver

burg
Posts: 11
Joined: 09 Jun 2009, 21:08

Re: aa_Ocean: Tessendorf Waves

Post by burg » 25 Jan 2010, 17:46

Thanks Oliver! It's still flicking from one to the other, regardless of the upvector. I'll have a look at it another time, thanks for helping.

This aa_Ocean is amazing stuff. I'm attempting to pull a boat through the aa_Ocean Water grid and get a deformation effect. I can get a deformation effect going but how do I get it to work in conjuction with the aa_Ocean compound? No matter where I put it on the port port or in a separate ICE tree above, the effects seem to be overidden by aa_Ocean. Anyone have ideas?

Thanks so much in advance

Burg

User avatar
Rork
Posts: 1359
Joined: 09 Jul 2009, 08:59
Location: Close to The Hague, Netherlands

Re: aa_Ocean: Tessendorf Waves

Post by Rork » 26 Jan 2010, 09:37

I've ran into the same problem. It seems the ocean node is doing something that overrides anything that comes after it in the chain. It would be awesome if you would be able to create wakes as well, but I think it will not work due to the rendering part of the setup?

rob
SI UI tutorials: Toolbar http://goo.gl/iYOL0l | Custom Layout http://goo.gl/6iP5xQ | RenderManager View http://goo.gl/b4ZkjQ
So long, and thanks for all the Fish!!

amaan
Posts: 21
Joined: 09 Jun 2009, 22:13

Re: aa_Ocean: Tessendorf Waves

Post by amaan » 29 Jan 2010, 23:03

you can combine aaOcean grids with just about anything provided the point count is the same. The latest aaOcean 1.5 outputs point positions, so you can then layer them on directly on to your grid. If not, you can always run aaOcean on one grid, run your boat wakes on another, and then switch-context to a third grid which adds point-positions from the other two grids together. I've used this method with v0.9 and it works just fine and speed is nice too.

amaan
Posts: 21
Joined: 09 Jun 2009, 22:13

Re: aa_Ocean: Tessendorf Waves

Post by amaan » 29 Jan 2010, 23:07

>but I think it will not work due to the rendering part of the setup?

yes, the current shaders will not be able to pull point positions from anything other than a tessendorf ocean sim. This is a current limitation, though all the code is set up to mix scalar/vector data from any other object -- I just haven't linked it up yet.

amaan
Posts: 21
Joined: 09 Jun 2009, 22:13

Re: aa_Ocean: Tessendorf Waves

Post by amaan » 30 Jan 2010, 23:04

>yes, the current shaders will not be able to pull point positions from anything other than a tessendorf ocean sim

I'll disagree with myself slightly. The displacement shader is designed to work with a pure tessendorf mesh. The rest of the shaders can be layered on top of 3D geometry. So if your 3D geometry already has boat wakes on it, you could just layer on top a high-resolution ocean normals shader from aaocean.

If you want to do boat wakes, I am releasing an unsupported version of my Tessendorf iWave implementation (http://vimeo.com/7350049). This ICE plugin can be downloaded from
http://www.amaanakram.com/plugins/aaOce ... eWaves.zip
The zip file contains a Softimage 701+ addon and an example scene of how you can very easily mix tessendorf ocean sims with the iWave plugin.

This is unsupported because its based on a very weak numerical integration solution which is prone to explode and sometimes the values you enter in the sliders make no sense. I've added some multi threaded code to this to make it faster than the documented version. I hope you will find it useful.