This is a real-time particle-based fire simulation using SPH. It's implemented in a compute shader on the GPU using HLSL with Unity.

Demos

These example videos are simulating 4096 particles at ~30-40 fps on a GTX 970 without nearest neighbor search. It's pretty much as simple as possible for a proof of concept fire sim. It uses an unsupported periodic boundary and naively renders the particles using Unity's builtin particle system. The particle system is only used for rendering and random emission (within a Bounds) when particles are added.

flame.mp4
flame_blow.mp4