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.
How about solving the N-S equations ?
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.
I saw a presentation on this by Desbrun last year. The absolutely most amazing thing about the approach taken is that there are multiple naturally appearing ways to get values for different differential operators. This can let the cfd practitioner get a real estimate on numerical stability. That may not sound like much but in flows in which turbulence becomes non-negligible that is huge because it's hard to tell if what you see in the model is real or artifact. All that aside, he's a reasonably nice guy -- very much in the old Cal-Tech mold of "be wicked smart", "don't brag", and "do amzing things to get noticed". Good to see the "get noticed" part is starting to happen.
Just one step closer to ignoring the real world and living in a virtual reality!
Support the source, Open Source! An entire site developed with OSS
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
The popups don't work for me for some reason. And no, it's not because I have disabled javascript (I haven't.)
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
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.ima.umn.edu/2005-2006/W4.3-7.06/activit ies/Desbrun-Mathieu/desbrun.ram
maybe I missed it but they didn't mention if they're planning on calculating it in realtime with a physics processor or the computer's processor if one doesn't have one or if they're going to use the equations to pre-render it to look really realistic then just play the animation non-dynamically. I'd much prefer the second because though it would look the same every time, they could perfect it and maybe have multiple versions of it. Plus then when I use the biosludge gun from Unreal Tournament and spray 100 gobs of goo all over the playing field, my computer doesn't have to slow down to a slideshow while it tries to calculate how it will flow off every corner and into every crack on the map and stuff. Game makers always say games will never freeze but as soon as I fly 1000 helicopters across the screen in C&C Generals, uh ohhhh slowdown.
Google's Super Secret Search Algorithm: SELECT @search_results FROM internet WHERE @search_results = 'good'
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.
...is a pretty interesting field. The one class I took in it while getting my Aerospace degree made my head hurt, though. Playing with computer networks was much easier and it paid better :)
ObLink
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
"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."
My vote is for sperm and breast milk. I'm sure you devients could find something else.
New age boobs? What? You have to recharge them between each use?
These flash video players may be the rage of 2007, but the tiny pictures are barely visible and users can't resize them or slow down the playback like they could in the past.
The liquefying character demo looks like it would be interesting if it could be slowed down.
Some may question the need for improvements in the field of animated fluids. But many forget that animated fluids are pivotal to the success of Hentai, in which they are used quite extensively and to good effect.
---GEC
I'm but the humble pupil, seeking to snatch the scratchbuilt pebble from the master's fully articulated hand
This is good news, because the "das boot" scene in Beerfest was incredibly fake-looking.
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
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!
I smell a new Kiba effect in the works
Anyone else noticed that these are really uber-cool demos ? :)
I would like to see them working with some of the guys from the demoscene or vice versa,
maybe they could learn some things from each other.
if they dont already, that is
Here's an idea for a method of taking meaurements for these studies, and a process for simplifying the process of making nondynamic vector animations:
Float a lattice of small white ball floats, connected by rubber bands in a triangle formation, and then do a motion capture. The disruption to the pool could be carefully controlled. The elasticity of the rubber bands, and the buoyancy of the balls would be simple constants to make corrections for if even necessary. A black light and flurescent balls could be used to up the accuracy of the motion captures, and reduce noice from reflections if that was an issue.
For captures involving the fluid's interaction objects, where the net above would interfere, in substitute of the lattice, similar captures could be taken using non-netted balls, where the surface has been completely saturated. The saturation could be reduced and played with in the occurance of prolems like stacking, or a more complicated solution like magnets in the balls could be used.
-the ideas man: Morgan Chase
I'm full of ideas like this,(and better) and happen to be freelance. If you like the idea and think it shows potential on my part, email me a problem to solve at morganchaser@gmail.com and I'll give a free sample. After that point, we negotiate commission, or I am open to job offers. I can solve as many demostration problems as desired if the problems are obviously for the purposes of evaluation.
I specialize in mechanical and physical problems but you may be surprised at my range. The skill carries with me to any field I take an interest in, and resultingly master(I never fail: too persistent) and am willing to do so given an appealing offer.
"Not that I'm an expert, but based on this I'd guess we're at least 8 years away from having fluid simulation in whatever the FPS of the month is."
Give John Carmack a crack at it. We'll have it by tomorrow.
steve Ballmer would say: squirt!
1. Where are the equations?
2. Are they patented? (shudder)
3. How hard will it be to implement them into Blender?
http://www.technologyreview.com/printer_friendly_a rticle.aspx?id=18124
C'mon story submitters, link to the ad-free, 1-page version of stories (if there is one) from now on.
Nobody wants to waste their time looking at ads.
Posted as Anonymous Coward to avoid karma whoring.
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
Don't assume that it wasn't possible to do Luxo Jr. in real time way earlier, just because the crappy 3d accelerators finally got around to doing it by 2001.
My guess is that if anyone wanted to then they could have replicated Luxo Jr. in pure software around 1997, but in somewhat less than broadcast quality.
The demoscene did many effects in real time much more impressive and at higher complexity for years earlier.
-- To dream a dream is grand, but to live it is divine. -- Leto ][