Nvidia's Miles Macklin and Matthias Müller-Fischer have been working on methods to make computer generated water look and move more like real H2O. They have come up with a solution to this “computationally expensive” problem with a new fluid algorithm called “Position Based Fluids” (PBD).
The Nvidia developers, part of the PhysX team, have submitted this water rendering method for the SIGGRAPH (Special Interest Group on GRAPHics and Interactive Techniques) 2013 event. This new PBD based water rendering method is said to be “suitable for real-time applications”. In one of the videos the researchers inform us that the tests were run on an Nvidia GTX 680 graphics card. You can see examples of the PBD water effects in the video above and the newer supplemental video below.
In their SIGGRAPH paper the developers explain that incompressibility is key to realistic water effects “In fluid simulation, enforcing incompressibility is crucial for realism; it is also computationally expensive”. However they can use computation shortcuts by “formulating and solving a set of positional constraints that enforce constant density, our method allows similar incompressibility and convergence to modern smoothed particle hydrodynamic (SPH) solvers, but inherits the stability of the geometric, position based dynamics method”. This is what allows the technique to be used in real-time.
Miles Macklin informs us, via his blog, that since the SIGGRAPH presentation publication he has continued to work on refining the rendering quality. He’s since added “features like spray and foam”. The video showing such effects added to the water is immediately above this paragraph. Macklin recommends you watch these videos in HD and full-screen.