Nvidia shows off new realistic water effect: Position Based Fluids

PSB uses similar incompressibility and convergence to modern smoothed particle hydrodynamic (SPH) solvers.

Nvidia has unveiled its latest graphics animation enhancement in the shape of Position Based Fluids (PBF), a new realistic fluid simulation tool.

PBF builds on the long standing fluid calculation method know as Smooth Particle Hydrodynamics (SPH) and simplifies it to the point it can be used for real-time animation.

The challenge with existing implementations of the method is that to get sufficient realism requires enforcing incompressibility, and to do this requires having to either calculate at a high frequency (many moments in time) or high particle count, both of which are highly computationally intensive.

"SPH is sensitive to density fluctuations from neighborhood [sic] deficiencies, and enforcing incompressibility is costly due to the unstructured nature of the model...SPH algorithms
often become unstable if particles do not have enough neighbors for accurate density estimate"

"The typical solution is to try to avoid these situations by taking sufficiently small time steps, or by using sufficiently many particles, at the cost of increased computation"

The new Nvidia method, developed by Miles Macklin and Matthias Müller-Fischer, seeks to reduce the computational cost by "formulating and solving a set of positional constraints that enforce constant density". This method "allows similar incompressibility and convergence to modern smoothed particle hydro-dynamic (SPH) solvers, but inherits the stability of the geometric, position based dynamics method, allowing large time steps suitable for real-time applications. " In other words, it allows for a similar effect but using fewer particles and fewer time slices.

Furthermore, Miles Macklin has confirmed that since the SIGGRAPH presentation publication he has continued refined the rendering quality and has added “features like spray and foam”.

Video of the original SIGGRAPH submission and the refined version can be seen below.

PBF follows closely on from Nvidia publishing two other real-world animation enhancements, in the shape of Faceworks and Waveworks. Aimed at reducing the computational cost of accurately depicting facial animations and ocean waves, the two methods can, along with PBF, run in real-time on a single GTX 680.

How long it will be before we see games implementing any of Faceworks, PBF or Waveworks is not yet known but we certainly can't wait until they do.

Share This News Story

15 Comments

The problem with this sort of thing is that it looks great if you do a little two-foot-square box, but the moment you want, say, an ocean, or a lake, or frankly a smallish pond, it tends to become impractical.

Originally Posted by phinixNow, I want that in Crysis 4;) (Plus GTX "Titan 2" in SLI;)

So this isn't possible to implement in games, cause latest GPUs are not strong enough to pull like a whole ocean coast, is that correct?

They're plently fast enough already , they mention a "single GTX680 "...as they did with Epic's incredible Infiltrator demo. But they won't release any of these as benching demos :|. What's possible in some Nvidia 'low level' compute demo and what is possible in-game through DirectX with (flushing /sync) wait time latency, is another thing altogether.

There is a big problem with this. This an nVIDIA PhysX paper. PhysX isn't going to be in any of the next generation games consoles as by all reports every console is going to AMD this time around.

This means that this technology is locked out of that market for 7+ years; unless we see a shorter turn around time by the consoles now that they could easily be backwards compatible due to them using commodity hardware.

That in turn will limit its take-up on the PC gaming platform side of things too which is a bit of a loss for us all.

Originally Posted by Assassin8orThere is a big problem with this. This an nVIDIA PhysX paper. PhysX isn't going to be in any of the next generation games consoles as by all reports every console is going to AMD this time around.

This means that this technology is locked out of that market for 7+ years; unless we see a shorter turn around time by the consoles now that they could easily be backwards compatible due to them using commodity hardware.

That in turn will limit its take-up on the PC gaming platform side of things too which is a bit of a loss for us all.

I think you miss-understand. Physx is on the Ati powered xbox 360, and the PS3's cell and it'll be available for all the next gen consoles too. Just because nvidia refused to make it work for Ati powered desktop gpu's doesn't mean they can't or won't make it work for the consoles. Of all the physics engines physx is the most easy to port to new hardware as it's run on a multitude of different back ends in it's time. It will be there from day one.