Real time water is slowly getting there...

JavaJones

Newcomer
Real time water done *almost* "right". The link that follows is the result of work by Funcom employees (Anarchy Online, and the upcoming Midgard) on a real time "deep water" visual and physics simulation system. It incorporates a wide variety of important effects in a very interactive procedural manner. It also does this "inside and out", in that it can handle representations above and below the surface. There was an article on this on Gamasutra a while back too.

Personally I'm quite impressed with the realism. It's not flashy, but it gives an undeniable impression of *water*. Were better models to be used in the demo, better backgrounds, better water textures and lighting, and a way found to smooth the vertex lighting artifacts on the water highlights (per pixel lighting approach), this would be as good as I could ask for in the current generation. Considering its current state of production (basically an alpha proof of concept) it appears to have the *potential* to ultimately be better than anything we've seen in an actual game so far, PC *or* console, and that includes Waverace and Splashdown. That's all just IMO of course.

http://www.swrendering.com/water

Here's some comments from the developer on performance as I am sure that will be an automatic question.

"Performance numbers: depends a lot on detail of course, i.e. FFT gridsize, number of iterations for the integration (ODE solving), density of water patches, use of ps etc, etc., but in general most of the stuff you see in the screenshots runs 15-40fps on my PIII450 with GeForce3. I’m not to positive to share specific numbers at the moments, since it’s not optimised yet..."

Supposedly this technology *may* be implimented in Midgard.

http://www.worldofmidgard.com/

Personally I can't wait to see a more realistic approach to water implimented.
I'm an undeniable eye candy whore, what can I say? ;)

- JavaJones
 
Your link's broken.

It's probably based on J. Stam's "Stable Fluids" technique (or Fedkiw et al's "Practical Animation of Liquids") technique.

There's been a lot of interest in animating water using FFTs recently - in addition to the real-time implementations, it was also used in Shrek.

<font size=-1>[ This Message was edited by: gking on 2002-02-13 10:07 ]</font>
 
Looks very impressive to me.

sshot006.jpg


sshot001.jpg
 
Both links seem to work fine for me (and evidently for at least one other person so far...) Try again?

Yes, they're using FFT's. There's lots of interest lately because it looks bitchin. ;)

What I'm most interested in regarding this particular implimentation is the simulative approach. They attempt to depict as many necessary natural effects as possible in a real time situation, including physically correct surface wave models that take into account the depth of the water, object and wave interraction, view dependant water coloring, reflection/refraction, caustics and godrays, and (missed in allot of approaches) foam and spray.

Here's a link to the Gamasutra article I mentioned earlier, though I believe it requires a (free) Gamasutra.com membership to read. There is some more in depth info on the specific approach there, along with other example pics, also very impressive.

http://www.gamasutra.com/gdce/jensen/jensen_01.htm

- JavaJones
 
Okay, the links are working again -- they weren't when I originally posted.

I've read the Gamasutra article before. It's a pretty nice technique.

The only problem with FFT water is that it eventually needs to be tiled (which would be noticeable, if the camera were far enough away from the scene). Other than that caveat, it's definitely the best technique I've seen for doing fast fluid dynamics.
 
The trouble with blood wake is it doesn't have reflections, just a standard reflection map. Really limits it I think.
 
Yeah, I've see the tiling problem recently, and it can be bothersome. Is there no way to avoid this though? Seems like there ought to be some clever tricks you could pull off. Fade to an animated non repeating texture with limited per pixel shading, but no wave simulation (I'm thinking similiar to the "haze" effect in Rogue Leader on the death star, but with an animated procedural bump map), or perhaps you could overlap tiles to a semi-random degree? Really I have no idea as I'm unfortunately not a coder, but it seems if it were enough of a focus (like in a game that takes place primarily on water, as in Waverace or Sea Dogs II on the PC), then it could be solved. Any ideas towards doing so anyone?

Also I'm not so much impressed by this particular water implimentation because of the underlying technique, which I know is nothing terribly new or unique, but because of the variety and relative completeness of the visual realism effects it impliments. I listed many of them in the first post. Compared to other visual depictions of water we've seen so far, in actual products or otherwise, it seems to be the most complete and realistic. Waverace is pretty, but not realistic. Splashdown is headed in the right direction, but over does it and lacks some key effects. There's always tradeoffs, but again this particular example seems to me the best I've yet seen overall.

- JavaJones
 
Back
Top