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.
The PhysX paper on Position Based Fluids
has been accepted for presentation at SIGGRAPH (Special Interest Group on GRAPHics and Interactive Techniques) 2013.
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.