Realtime GPU smoke simulation

I think the houdini simulation looks more smooth and thin. Some smoke is still on the bottom of the sim whereas with your method the smoke dissolves pretty quickly. It gives an extra bit of realisme imho

3 Likes

There’s been tons of random, supposedly fast fluid simulators popping up in past few years, but there have not been almost any that don’t suffer from obvious weird unnatural noise artifacts and all sorts of ugly popping. In the example above, Houdini is a great reference of how it should look like, and jflow apparently has still ways to go.

Mantaflow is pretty much the same (terrible performance aside). It can simulate “something”, but it has hard time simulating actual realistic, artifact free fluids. Speed is not very useful unless one is able to get to a desired quality.

The only simulators I know of, which can provide both acceptable performance and acceptable quality are Houdini’s Pyro GPU solver and Embergen.

1 Like

There’s been tons of random, supposedly fast fluid simulators popping up in past few years, but there have not been almost any that don’t suffer from obvious weird unnatural noise artifacts and all sorts of ugly popping.

This!
Plus many of them are merely tests subjects or research left on the sidewalk or corner case studies. Which makes them essentially unusable “as is” for production.
I don’t think there are more of these in the past few years, however we have more and more people who are not educated on the subject and see these demos with shiny “x times faster” and spread them everywhere requesting their favorite software to use them.

I agree with you, however also I have some important points about this project:

  • first - this is not meant to fight with houdini but rather with mantaflow,
  • the solver is still in second alpha generation and I’m trying to improve it more or less every day
  • the above comparison was made quickly so probably even at that point it could be done better
  • the comparison was made more for me as a reference of what it should look like, rather than for real battle

Also I’ve never told that my solver is exceptionally good, as I’m developing it myself with limited knowledge and time. I’m just trying to do something that could be used quickly and with less problems than with blender

15 Likes

Yeah, I never claimed otherwise. I never said it’s bad or that it’s supposed to replace mantaflow. I said it because I think your solver has potential, but I’d just like it to avoid the same pitfall the others did not - chasing speed, but ignoring the quality requirements production scenarios have. Even if it was 4x slower than it is now, it’d still be great overall, if the results were higher quality.

Of course, once the quality/performance ratio is figured out, then yet another common pitfall is poor UX. Solver developers tend to often just dump tons of technical variables into user interface, and excuse it as “flexibility”. In such case, it usually requires a degree in physics and computer science to get a good looking results with. That’s the case of PhoenixFD for example. So that’s yet another pitfall to avoid :slight_smile:

8 Likes

Thanks for the advice, the quality can be easly improved by cranking up steps (after that I made results much more similar to the Houdini one than before) ((still not perfect)) so it should help.

And the UX this time will be clear. I have some nice ideas for making them easy to follow but that is still long ahead as the solver is still not as good as I want to.

6 Likes

that’s amazing! Keep it up! Looking forward!

2 Likes

I agree with Ludvik here. I don’t mind the simulation to take little longer if the quality is substantially better.
Your work looks better and better, keep on going.

2 Likes

wow. Great work. will be nice to see real working cache and retiming future. now Blender has a stupid solution for fluids.

2 Likes

I’m not a fan of fire (I like water more ^_^) but here are some real world slow motion explosion footage to help you with the shapes.

WARNING: do not expand the Summary if you had bad memories with fire/explosions

Summary
  • Bad, A building explosion:

Huge Building Explosion at 2500fps - The Slow Mo Guys - YouTube

  • worse, an air strike:

Air-to-Ground Precision Guided Munitions - YouTube

  • Even worse, 1950s above ground nuclear explosions tests:

Operation Hardtack-1 - Nutmeg 51538 - YouTube

Operation Teapot - Turk 28141 - YouTube

1 Like

It would be really interesting to see wavelet resolution like in 2.79 or some sore of an equivalent parameter to define the smoke crispiness + whispy-ness. Amazing work, sir!

3 Likes

I’ll do various tests later but my goal is to achieve Houdini like quality, while still maintaining reasonable times

2 Likes

It might also be cool to see a comparison with something like embergen

1 Like

Well yes, however I don’t remember if they have a trial and to be honest I don’t have money for that. With Houdini I also use just the apprentist version.

2 Likes


They do seem to have a free trial

1 Like

I’ve rewrote from the ground the particle importer from Houdini to JFlow and made some internal changes to match them more. Could you tell if that’s better? Also in your opinion what is still lacking?

21 Likes

The inertia of the smoke seems strange to me. I’m not sure what it has to do with. There may be options:
The environment and its inertia and viscosity as an influence on smoke
Waves in this medium, and their transmission to smoke
Kinetic smoke model
Internal resistances, vortices, pressure drops, …

I also still feel that the smoke in Houdini is more drawn out. Perhaps this is due to the temperature difference and, as a result, stretching in height …

2 Likes

Thanks, I’ll look at it more.
But it is unfortunately mainly a bug with loading velocities from the Houdini cache. I’m too tired for now to actually fix it but soon I’ll do the update. Maybe next 2 days or so.
Also the settings were a lot different between these two as the importer does not load all the data that Houdini passes internaly.

4 Likes

this looks so much better than the first comparison! just amazing

4 Likes

I am actually working on a VDB pack to be used in Blender. While working on this, i had to use Embergen that’s way faster than Mantaflow or Houdini. But now, i’m stunned, i really want to test your implementation that seems way cheaper in VRAM Consumption while being really fast to simulate

Your work is amazing !

Also i rewatched al your vids again and again to understand what could be improved:


Your smoke leaves a trail that dissipates strangely compared to Mantaflow or Houdini.
I don’t know how to explain it but here are a few screenshots that shows it:



Thanks again for your hardwork, you’re incredible !

6 Likes