emission + Beer-Lambert extinction, ACES tonemap
Fire / Gas / Weather simulator
A 72x72 Eulerian field ignites a fuel bed, lets combustion cross ignition and self-sustain, lofts soot as a light-absorbing plume, then drops water and watches the flame die - every frame solved and encoded to GIF in nothing but C# on the .NET base class library. No engine, no shader, no image file.
Blackbody light Buoyant advection Beer-Lambert smoke Phase change
Rendered evidence
The beauty pass and the raw simulated fields, all from the same solver run (seed 7). Every panel is a false-color read of a real quantity - nothing painted by hand.
emission + Beer-Lambert extinction, ACES tonemap
heat ramp over (T - T_ambient)
Beer-Lambert, sigma_ext = 1.25
buoyant advection (stable fluids)
Planck tint, linear HDR
every simulated quantity, false-colored
How it works
Build
The solver leans on eight OnlyCSharp 1.7 leaves - stable fluids, noise, thermodynamics, fluids physics, fast RNG and math, and a from-scratch Gif89a encoder. Each depends on nothing outside .NET itself.
dotnet run --project FireGasSim -c Release