NVIDIA PhysX demo shows highly realistic water effects

When you see water effects inside games or other PC graphics applications, they almost always have very limited animations and interactions with the surrounding environment. This week, a programmer that works at NVIDIA on the PhysX team has uploaded some new videos that showcase a new way to create water effects that could change how water and other fluids are simulated in games.

Programmer Miles Macklin posted the videos on his blog side that show off what he and his fellow PhysX team members call Position Based Fluids. One of the videos, shown above, demos the technique running on an NVIDIA GTX 680 CPU in real time. As you can see, not only does the water flow and bounce around objects realistically, but there are added effects such as spray and foam that make the water look even better.

Macklin and his team have created a full paper on Position Based Fluids which has been submitted and accepted for a presentation at the upcoming SIGGRAPH 2013 conference. He states:

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.

The end result is certainly one of the most realistic real time water effects we have ever seen and its likely that future PC games and graphics applications will use a version of this technique.

Source: Miles Macklin's blog

Report a problem with article
Previous Story

Intel to launch Haswell chip in '3,337,200,000,000,000 nanoseconds'

Next Story

Analyst: Windows 8.1 won't fix apps that 'suck'

31 Comments

Commenting is disabled on this article.

Nvidia is greedy, but Nvidia also bought Ageia, so they kind of have to be greedy, to return the investment.

As for the idea itself - totally awesome! I have often looked at water mods in Skyrim and, frankly, all of them are pretty shyte as soon as obstacles of all kinds get involved.

Nice as it is, with the next-gen consoles being all AMD GPUs I don't see this going anywhere. Furthermore PhysX is just for visual effects that do not impact the state of the game, because it's unpredictable in multiplayer simulations (i.e. there's no guarantee it'll give the same results on every computer).

Except this is a totally different technique and offers significant performance enhancements and scalability. The article goes into quite a bit more detail then your video link.

That's incredible.
However, they are missing the water sheen that stays for a few moments, plus droplets or a sheen that stays permanently (until evaporation), after the water has hit the surface and receded.

It's nice but I'm not a fan of PhysX because it doesn't run on non-NVIDIA hardware. I wish this sort of thing would be done with OpenCL.

Denis W said,
It'll run on non-NVIDIA GPUs, just done by the CPU only I'd imagine.

No CPU could do this. A GPU is tens or often hundreds of times faster with physics calculations. This could be done with OpenCL on AMD cards but the problem with OpenCL is it's still immature, buggy and not well supported by development software. It's a pain to work with basically.

W32.Backdoor.KillAV.E said,

No CPU could do this. A GPU is tens or often hundreds of times faster with physics calculations. This could be done with OpenCL on AMD cards but the problem with OpenCL is it's still immature, buggy and not well supported by development software. It's a pain to work with basically.


I work with it and it's nowhere near as bad, give it enough time and I'm pretty sure it will become the standard.

Arceles said,

I work with it and it's nowhere near as bad, give it enough time and I'm pretty sure it will become the standard.
It should become the standard. Game developers shouldn't support features that only work with NVIDIA hardware. I had the chance to play Batman: Arkham City but I didn't buy it because of the NVIDIA-specific features.

Anaron said,
It should become the standard. Game developers shouldn't support features that only work with NVIDIA hardware. I had the chance to play Batman: Arkham City but I didn't buy it because of the NVIDIA-specific features.

You're missing out then. AMD has great hardware that's let down by their software.

I work with OpenCL, it's not that hard to work with, just hell to debug. Another problem with it is that a kernel that works very well on a Nvidia card might crawl on an AMD card and vice versa. You need to implement different optimalisations for different platforms. Which kind of negates the entire cross-platform/cross-hardware idea.

I LOVE the water effects in games (and tropical islands too)

I would kill for a Far Cry 1 remake with the current graphics and this water effects!

This will never be in a game, it's simply not needed and it's not worth the amount of work it takes. The only game it would really be noticeable is a speed boat racer. But there isn't a big demand for those games and I doubt you could play the game on anything other than a super computer.

Gaffney said,
.......

What a short-sighted comment.
Of course this will be in every game within the next six years.

The engine that will win will be the first to offer a completely immersive and interactive simulation in realtime.

Nerver?! As in: not in 25 years from now with quantum computers, photonic interconnect and holographic memory? Not in 250 years when we fold space to travel to the stars? Not even in 2500 years when we create artificial black hole to reach the multiverse?

*THAT* kind of never? LMAO!!! You sound like Bill Gates saying 640K RAM ought to be enough... Let me help you through the math here:

The GTX 680 is pushing about 3 TFLOPS. This demo top at 15FPS. A card with say, 16 times the power (48 TFLOPS) would theoretically translate into 240FPS. Lets say you limit the water simulation to 12 TFLOPS (60FPS), that still leave another 36 TFLOPS (180FPS) of raw power for the entire game.

We are more or less doubling compute power every 18 months. At that rate, a rig capable of integrating that level of simulation in a game would take 4 cycles of 18 months to reach 16 times the current compute power. 4 * 18 months = 6 years. Even add 50% margin of error if you want and lets settle for 10 years.

I was not aware that merely 10 years out of the 13.8 billion years of the Universe = never. But more seriously, I'm an optimist! I'll bet you we will make it in 4 cycles. By 2020, we will have that level of simulation in our games. Just in time for the PS5, Xbox 1440 and Radeon 11000 / GTX 1100 series.

Imagine that: 48 TFLOP GTX 1180 @ 2.2Ghz + 32GB of GDDR8 @ 12Ghz...IN SLI!!!!!