Realtime GPU smoke simulation

Looks pretty. Does your engine model interaction with the ground plane, giving rolling fronts? It’s hard to tell with the animation as it is at the moment. I’m also curious whether you can have hot/cold zones as ‘forces’ within the domain, so that the fluid rises more slowly in cold areas (or falls to the ground).

1 Like

No forces yet, but they will come probably next

2 Likes

Loving the progress on this! I saw your question on the latest Blender Today episode about applying for work at the Blender Institute. Hopefully you were encouraged by Pablo’s response and will contact them :slight_smile:

5 Likes

Also tagging @michal1000w here as well.

According to AMD, AMD’s HIP is a very similar to CUDA. And apparently code can be compiled for both AMD HIP platforms, and Nvidia CUDA platforms:

HIP code can be developed either on AMD ROCm platform using HIP-Clang compiler, or a CUDA platform with NVCC installed…

HIP-Clang is the compiler for compiling HIP programs on AMD platform.

HIP-nvcc is the compiler for HIP program compilation on NVIDIA platform.
Source: https://rocmdocs.amd.com/en/latest/Installation_Guide/HIP-Installation.html

I’m not sure how well the “HIP-nvcc” compiler works, but I just thought I would share this information so people knew.


As for Intel GPUs, Intel provides the “oneAPI”. Intel does say that oneAPI can be compiled for Intel, AMD, and Nvidia GPUs (using HIP and CUDA for the respective GPU vendor), however this is “experimental” and it’s probably a bad idea to rely on it at the moment.

3 Likes

And yet another new shader. This time without the need of ACES to look good.

40 Likes

That looks great! Keep up the good work, Michael!

3 Likes

Hi @michal1000w! Been a long time follower of this thread and love all the work that you do! Corridor Crew just posted a video dedicated to explosions and I thought you’d probably find it super interesting, so I thought I’d share it with you - Why CG Explosions Suck (but they don't have to) - YouTube

Looking forward to more of your progress posts/videos! :smiley:

3 Likes

After some more work I’ve remade scattering algorithm to make fire more detailed.

18 Likes

Here is a little comparison

26 Likes

Very nice! Is the added detail a type of wavelet noise? Asking because it has some of the same straight line visual artifacts that I see in Blender’s current and previous smoke sims.

A more extreme example of what I mean by the straight lines:

I’d be really curious to know what the cause of that is. Is it because the noise can’t be blended smoothly between voxels? It’s something I see in most sims, so it’s not a knock against yours in particular, but if there’s a solution out there to break up those lines it would really help the quality.

1 Like

Hi, thanks for your comment :smiley:
The added scattering detail is non related to the wavelet noise, it’s just a trial of replicating the Houdini’s pyro baking node in JFlow shader passes. Just done better than before.

The wavelet noise however has been used in the simulation process and was set higher than it should be due to an old project before scattering changes so the artifacts should be minimized or removed completly after I update simulation settings.

And speaking about the reason why it exists it is mainly due to relative low grid resolution in comparison to noise strength.

I’ll try to do a bit better demo soon

4 Likes

Ah, that makes sense. Thanks for the info! Again, this is looking amazing :clap:

2 Likes

Another basic test due to lack of time for something better and too much time for looking at a blank wall.

22 Likes

Very nice progress. What I miss are the work time someone need to create such simulations in your tool. So how long did it need to calculate the sim and place it then into Blender. The render and preparation times in Blender aren’t really interesting, more interesting is how much simulation time someone safes using your tool, when creating a 10 sec animation e.g.

Regards
Chris

Thank you, however I’ve never given any information about render and preparation times in blender. All information were about simulation times in JFlow Alpha and memory usage during the simulation.

I mean maybe it is misleading in some way that I don’t see, however here by Sim Time I mean simulation time in JFlow and by VRAM the memory usage by the simulator.

In some cases I was giving render times but that was by the internal JFlow’s render engine so then there was no blender included at all.
And for a hipotetical 10sec animation it could be simulated in 10sec in a reasonable resolution without a problem.

Regards,
Michael

5 Likes

This is exactly what I was looking for. Thank you.

Do you see any chance to see your tool as an complete implementation into Blender someday?
Any feedback from Blender Development about this topic?

Regards

2 Likes

Maybe in the future,

As for now it will be either a standalone or an addon.
And about the feedback I’ve applied for a job as simulation developer in Blender Foundation but I’ve been rejected because of too little experience.

Regards

17 Likes

That is a shame, at least you tried. I am surprised that they didn’t at least offer you a grant to integrate your smoke sim into Blender.

Even when they find a more experienced developer, I would assume it would take them much longer to write a GPU smoke sim from scratch than it would take for you to merge your sim into Blender. Seems like a missed opportunity for all…

3 Likes

i feel blender won’t want create a real side for the simulation … all concurent software are a good side… and blender in this side with a particle are really lost…is really horrible… something is needed for real fluids / soft and rigid body / cloths and particle effect…

The biggest reason why sim is in a terrible spot atm is due to the extensive focus on sim nodes preparation/implementation above all other sim work

1 Like