Games have included basic object physics for years, but real-time fluid simulations have remained elusive. Sure, we've seen some tech demos of tentative approaches, but simulated liquids have always looked more like jello or tapioca pudding than actual water—close, but no cigar.
Well, hold on to your hats, because Nvidia staffers have come up with a new technique to simulate fluids using PhysX, and the results are pretty true-to-life. See for yourself:
The demo is the result of research by Miles Macklin and Matthias Müller, who have published a paper (PDF) detailing their work. The paper will be presented at SIGGRAPH 2013 in a couple of months. Here's the abstract:
In ﬂuid simulation, enforcing incompressibility is crucial for realism; it is also computationally expensive. Recent work has improved efﬁciency, but still requires time-steps that are impractical real-time applications. In this work we present an iterative density solver integrated into the Position Based Dynamics framework (PBD). 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, allowing large time steps suitable for real-time applications. We incorporate an artificial pressure term that improves particle distribution, creates surface tension, and lowers the neighborhood requirements of traditional SPH. Finally, we address the issue of energy loss by applying vorticity confinement as a velocity post process.
Yep. Uh-huh. Totally understood every word of that.
The lighthouse simulation is shown running at 15 FPS on a GeForce GTX 680, which isn't outlandishly fast by today's standards. (It's over a year old.) Of course, aside from the water, the 3D scene being rendered isn't that complex. It may take substantially more horsepower to implement the same simulation in a modern game.
Speaking of which, I hope game developers will be able to use the algorithms described in the paper to do similar work using a cross-vendor API—say, DirectCompute. There's nothing wrong with PhysX, but limiting this kind of technology to a single GPU vendor may reduce the likelihood of a major game using it in a meaningful way.
|1. Hdfisise - $600||2. Ryszard - $503||3. Andrew Lauritzen - $502|
|4. the - $306||5. SomeOtherGeek - $300||6. Ryu Connor - $250|
|7. doubtful500 - $200||8. Anonymous Gerbil - $150||9. webkido13 - $135|
|10. cygnus1 - $126|
|Steam users can now ask for their money back||7|
|AMD's Carrizo brings power savings to mainstream laptops||20|
|Watch this astonishing thermal footage of Cryorig's hybrid CPU cooler||33|
|Don't throw stones inside Lian-Li's PC-O8||7|
|The TR Podcast 176: Project Cars, cable to the Maxx & the Tao of Chi||2|
|Fractal Design's Node 202 case takes low-key approach to living room||18|
|MSI's Godlike X99 motherboard brings RGB LEDs to mortals||16|
|Thunderbolt 3 pushes 40Gbps through USB Type-C port||36|
|Killer slays wires with its Wireless-AC 1535 NIC||15|