NatureGL Firev1.0.0

Reference

Fire parameters

FireParams is the whole look and behaviour of the fire as one JSON-safe object. Presets set a subset, setParams merges into it, and the object is live, so a change shows on the next frame.

js
fire.params;                          // live: read every frame, mutate freely
fire.setParams({ smoke: 1.4 });       // merge (no easing)
fire.params.heatHaze = false;
DEFAULT_PARAMS;                       // the defaults, exported
fire.getParams().params;              // a copy, as part of a full preset

There's no easing. A change applies on the next update() or render(), and the simulation carries it forward from there.

#Simulation

KeyDefaultDemo range
wind0−4 – 4Horizontal wind strength in m/s, growing with height
windDirection[1, 0, 0.18]Wind direction. Only x and z are used
turbulence10 – 2Noise forcing, and vorticity confinement (1.2 + 2.4 × turbulence)
cooling10.2 – 3Temperature decay multiplier
expansion10 – 3Volume released by combustion. Bursts use it too
buoyancy10 – 3Hot-gas lift multiplier
smoke10 – 2.5Soot yield multiplier (emitters, bursts and burning)
intensity10.2 – 3Flame emission multiplier. It also scales the fire light
burnRate3.2Fuel consumption rate

#Flame and smoke look

KeyDefault
emission3.2Base flame emission (× intensity)
smokeDensity2.6Smoke extinction
flameAbsorption1.5Flame extinction. Higher values make the cores opaque
detail2.8Sub-grid detail noise displacement, in cells at 64 across (scaled with the grid)
licks0.55Sub-grid flame-tongue strength
flameThreshold0.34Temperature where gas starts to glow
kelvinBase1100Kelvin at temperature 0
kelvinScale1800Kelvin per unit of sim temperature
blueBase1Blue premixed-combustion glow at the burn zone
smokeAlbedo0.62Single-scattering albedo of smoke
smokeColor'#ffffff'Smoke tint (hex)

#Lighting and shadowing

KeyDefault
shadowDensity2.2Extinction used for self-shadowing
selfShadowtrueSmoke and flame self-shadowing in the light volume
fireLighttrueDrive fireLight and fillLight from the GPU probe. false hides them
fireLightIntensity1Fire light multiplier

#Screen

KeyDefault
reflectionstrueWet-floor reflection rays (needs patchReflectiveMaterial on the floor)
heatHazetrueRefractive heat haze
heatHazeStrength1
emberstrueGPU ember particles
emberBrightness5
emberSize0.02Ember size in metres
temporalBlend0.88History weight of the volume TAA (0 = off)
temporalClip1.25Variance-clip width (σ) of the volume TAA
bloomStrength0.3render() only
bloomThreshold1.6render() only
exposure1render() only

#Per-tier constants

A few solver constants aren't params, because they depend on the advection scheme. QUALITY_LEVELS[tier].coolingScale (1 on low, 1.9 above) multiplies cooling, and smokeFade (0.1 on low, 0.6 above) sets the smoke dissipation per second. The MacCormack tiers diffuse less, so without this compensation their flames would burn taller and hotter than on low. See Quality levels.