Making Animated Fluids Look More Realistic
brunascle writes "Technology Review has an article about recent advances in animated fluid dynamics made by Mathieu Desbrun, a computer science professor at Caltech. 'He and his team are developing an entirely new approach to fluid motion, based on new mathematics called discrete differential geometry, that use equations designed specifically to be solved by computers rather than people.' Desbrun explains that the currently in-use equations for animating fluid dynamics were not developed with computers in mind, and were simply reworkings of older equations. He claims that his new equations use about the same amount of computer resources, but with much better results. The article includes a 5 minute (flash) video demonstrating various results using his equations, ending with 2 fascinating and vivid displays: the first of a snowglobe, and the second of a cloud of smoke filling a volume in the shape of a bunny."
If you ever want to see some cool simulations of water and other particles, there are some folks in the POVRay animation usenet newsgroup (on news.povray.org) that have been experimenting around with fluids over the past year. They are actually pretty neat animations that simulate fluids pretty well.
That's the Stanford Bunny.
Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
This is the first post I've seen in a week with a link I actually wanted to check out. Thanks so much for setting someone's server room on fire.
For us gamers, the cool application is clearly fluids in games. Currently water is a flat plane with a bump map, or possibly an animated plane that is extremely simple. Modern game engines are trying to have some simple fluid dynamics, but it's extremely CPU intensive.
The article talks about breaking problems into smaller pieces, which means that it should work well with multi-core processors. Probably you'll first see "cosmetic" fluid dynamics, which don't affect gameplay, but still look pretty cool. Imagine characters splashing in water, setting off waves, creatures vaporizing into a puddle, and so on. Should be cool.
Like many technological advances, this could find funding from the porn industry...
The animations are impressive, but so was the animated water in Titanic and A Perfect Storm. I wish they had featured a comparison of the same animation, performed with the same computer resources, using the traditional and new methods.
"How to Do Nothing," kids activities, back in print!
hmm... the video i was talking about is gone, replaced by the 2nd one under "Multimedia." sorry about that. the other 2 are still good though. the smoke is in the first one. too bad, though, the snowglobe was great.
Ron Fedkiw at Stanford also has a lot of very impressive demonstrations of liquids, smoke, fire, cloth, rigid bodies, elasticity, and fracturing. The videos are definitely worth checking out: http://graphics.stanford.edu/~fedkiw/ I especially like the water being poured into the glass. It's nearly photo realistic.
While I'm sure the gee-whiz factor of more accurately simulating Lara Croft swimming is the hook for the story, shouldn't it at least pay lip service to real-world applications of this new technique? Wind-tunnel testing is one area that currently requires massive physical facilities, and would clearly benefit from this research -- air is a "fluid", too. You could even apply it to thicker fluids, perhaps devising new ways to fabricate items from glass or non-destructively test metal part designs for weaknesses that wouldn't have been otherwise revealed.
Though the importance of properly modelling Lara Croft's swimsuit can hardly be overstated.
Stressed? Me? Of course not. Stress is what a rubber band feels before it breaks, silly.
They mention "discrete differential geometry" in the article. This sounds a lot like a finite element/difference approach to solving fluid dynamics problems. I'm wondering if they are actually just solving for true phenomena using a simple FEA code or the like. Later when they start talking about flux (really, they're talking about calculating vorticity), they mention this same sort of discritization used in engineering.
My Company - Red Cedar Technology
where are the new age boob animation/physics I've been waiting for?
I was hoping for Lenna. Simulate me a steamy Swedish playmate, and then show me what happens when I take her top off.
Never mind that she's over 50 now, married with 3 kids...
- None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton
http://www.technologyreview.com/player/07/01/Smoki ngBunny/1.aspxr eteFluids/1.aspx
http://www.technologyreview.com/player/07/01/Disc
Seems to check referer, so reload once.
Hey! That's my sig you're smoking there!
but the real problem is speed. The quality is quite nice on current simulators it's speed that's a problem. They say the new math isn't faster just more accurate. For entertainment use we need faster not better specs. We need something similar to hardware excelloration that is now done with particle systems. In the old days particles took forever to render but with games and software like Maya they are generally live rendered. High quality live water would be huge for graphics and earth shattering for games. It's possible but it may take a custom core on a video card CPU to pull it off. Water is a big part of many games so it'd be worth dedicated water rendering on video cards.
Remember that just because a simulated fluid flow "looks" more accurate, that doesn't mean that it is. The article isn't very technical at all so it's difficult to tell what's going on here. But the way it is phrased leads me to believe that they are solving new equations rather than using new techniques to solve the well-known traditional equations (e.g., Navier-Stokes, Euler, vorticity evolution equation, etc.). The result may be that the new equations are less accurate in a point-wise sense but the resulting gross observable features of the flow may look more natural. Your eye can't tell the difference between errors O(h) and O(h^2) where h is the grid spacing, but it can certainly tell if artificial viscosity from the numerical scheme causes obvious features of the flow, such as shock waves or density discontinuities, to diffuse with time.
The applications you list require that the estimates of velocity, pressure, etc. come out accurately, and not that the resulting animated fluid flow passes the "looks plausible" test. When you're doing computational fluid dynamics solely for graphics, however, the pointwise accuracy doesn't mean squat; you want something that looks nice. I'm guessing that they've come up with a method that is optimized to make pretty movies at the expense of true numeric accuracy of the flowfield. But, again, the article is worded so generically, it's hard to tell what's going on.
GMD
watch this
What the CFD-literate Slashdotters will want to read is the actual paper (warning, pdf) that the article is based upon.
It's a neat method, but it's nothing revolutionary. The upshot is that their method tries to conserve vorticity (fluid spin) better than the other methods currently used for graphics, with the aim of getting rid of hacks that are now necessary to Make Things Look Good. The entire spin (no pun intended) in the article about "equations for computers, not for people" is journalistic sensationalism.
All told, it's a vorticity-based Finite Element Method, which is solved as a sparse linear system. Cool pictures, though.
"Evil company X is threatening to restrict our rights! Let's all get together to stop--OOOH! SHINEY!!!" -- AC
There have been various kinds of approximations... The one I remember the most was Prince of Persia: Sands of Time. There was so little water in the game that the water they did have was very, very cool -- you could walk around in it, your footsteps would send out ripples... While those ripples may have technically been a flat plane, they did properly refract what was under them.
And this was in a PS2 game. We could probably be doing much better already, if people cared that much.
There was also a game called Lugaru, which was the farthest thing from "real" fluid dynamics -- yet, slash someone with a knife, and the wound would bleed a bit (leaving a trail of blood down the character's chest). Kill them with a knife, and your knife would likely drip blood, and the corpse would lie in a growing pool of its own blood. Technically less impressive -- this game can play on pretty much anything that can play Counter-Strike (the original, I'd guess) -- but all it really takes is an attention to detail.
Kind of like -- remember how we all approximated shadows? You know, you'd have a spinning fan and a fixed light source, so you'd generate a spinning-fan-shadow texture and apply it to the wall behind the fan? Eventually, of course, we got machines powerful enough and someone clever enough that we can basically just do shadows any way we want (Doom 3, Quake 4), but until that happened, there were all kinds of cheap hacks we used to make it look as good as it could at the time.
So, this is a long way from being done in games, but depending on how much attention you pay to those kinds of details, you should be able to make a game today which can look much better with respect to water -- just look at Prince of Persia.
One final thing: It won't be applied everywhere. Just look at physics -- not every game is Red Faction, and including Havok (or ODE) doesn't automatically make your game a physics sandbox. Consider that both Half-Life 2 and Doom 3 use the same physics engine. Consider that in Doom 3, you can find an invincible 3-ring binder, which you can unload your entire arsenal of unholy weapons on, burn, explode, and chainsaw it till it's pitch-black, then wait around, and the black will fade into white, and it'll be good as new.
So, you may have a little pond, or a bit of blood, which is approximated about right, but there will be exceptions -- it won't apply to the ocean, and it won't apply to every little dust particle...
Don't thank God, thank a doctor!
Maybe you're one of those Linux-running commies/terrorists?
Have you checked?
j/k
BenCurry.net
The Caltech folks' approach (and this is actually the work of one of Desbrun's students, Sharif Elcott) is actually more pleasing mathematically than computationally. This particular paper makes a special effort to develop an intrinsic formulation of the equations of incompressible fluids, which allows for fluid simulation on meshes of arbitrary topology. That isn't terribly useful - movies and games aren't typically interested in 2d fluid simulation on a torus embedded in 3d...
Their approach is also closely tied to the properties of the static mesh, meaning that a lot of the "efficiency" that the method gains is the result of extensive pre-processing. If we want fluid with solid objects suspended in it, we're looking at a lot more computation.
Additionally, the vorticity method they use requires a very accurate Poisson solve to recover the velocity. Previous approaches to incompressible fluids typically solved a Poisson equation, but this was to project the solution onto a divergence-free space. In this case, it is acceptable to "cheat" a little on this part and only partially eliminate divergence. The approach in this paper doesn't allow this without serious sacrifices.
This paper deals with two models of fluid - incompressible, inviscid, Euler and incompressible Navier-Stokes. The latter is a widely accepted model for waters in reasonable conditions, but the former has no physical analogue. As a matter of fact, there are more efficient methods than this for solving so-called Poiseuille flow. They also claim great advantages over the popular "Stam advection" but their use of backward Euler integration is still going to be ridiculously diffusive, particularly when the CFL number is not obeyed.
This may seem very negative of me, but I should add that I think this is among the very best publications on CFD in graphics. This paper should have been published when it was first submitted to SIGGRAPH 2 years ago, rather than be relegated to a non-conference TOG issue. It's really too bad Sharif is not mentioned in the article, since this is his work more than anyone else's.
njord