Skip to content

Kiln

Smoke, fog and fire simulated on the GPU and rendered in the shot: pick a preset, play it, light it, render it.

Kiln is Forged's gas simulator: smoke, fog, steam, fire and energy effects. It solves on the GPU and renders through the same 3D renderer as the rest of the scene. There are two ways into it:

  • Kiln is a 3D scene node. The gas lives in the 3D viewport beside your cameras, cards and geometry, and a Render3D puts it in the comp.
  • KilnRender is the 2D version. Wire it straight between a Read and a Merge. It owns its own sim and renders it over the plate through the shot's camera.

Getting started

  1. Add a Kiln (Tab, type "kiln").
  2. On the node's panel, open Presets and pick one. Ground fog, Forest fog bank, Campfire and Chimney are good first looks.
  3. Press play. The sim steps as the playhead moves, on the GPU when there is one, and the viewport shows it live.
  4. Look at the badge at the top of the panel: GPU · 128×64×128 · 3.1 ms/step · … · frame 24. It tells you where the sim runs, its grid, and what one step costs.
  5. To see it in the comp, wire the scene into a Render3D.

A preset's preroll runs the sim before the first frame, so fog is already settled when the shot starts. Presets with a long preroll take a moment to show frame 1.

The panel

The panel is in tabs, in the order you usually work:

  • Sourcing: the emitter's shape, position, size and what it injects: emit_density, emit_temperature, emit_fuel, emit_paint and emit_color.
  • Simulation: resolution and the domain size (size_x, size_y, size_z), buoyancy, dissipation, wind_x, turbulence, and combustion for fire.
  • Output: how the gas looks and renders: renderer, spp, bounces, denoise, smoke_albedo, scatter_by and the energy ramp.
  • Transform and Advanced: placement in the scene, and the numbers you rarely need.

resolution is the voxel count along the longest side. Doubling it is eight times the voxels and at least eight times the cost. Tune the look at a low resolution and raise it for the final.

The network inside

Every Kiln holds a small network of its own: emitters, forces (Wind, Turbulence, Vortex, Spline follow…), colliders, and a Shading node. Double-click the tile (or select it and press I or Enter) to go in, and U to come back. Tab inside offers only the sim's own nodes.

  • A second emitter is a second source, with its own shape, colour and paint.
  • A knob inside that shows ↑ link can be driven from the Kiln's panel instead, so one number is animatable from the outside.
  • Presets keep the nodes you added yourself when you switch.

Live and Final

renderer chooses how the gas is drawn:

  • live is a fast ray-march for working. It is what the viewport shows while you tune.
  • final is a path tracer: real multiple scattering, soft area lights, the fire lighting its own smoke, the HDRI importance-sampled. spp is samples per pixel and bounces how often light scatters.

Live is built to predict Final, and every preset is held to it within 35% brightness. The ⇄ A/B button renders the current frame both ways side by side, and says which way Live is off and which knob brings it closer.

Denoise (Output ▸ Final): off, spatial (a fast edge-aware filter), or ai (Intel Open Image Denoise, when it is installed beside the app). The status line under the knob says which one ran.

Big Final frames render in passes. A 4K frame at 256 spp is split into short GPU jobs, so it never trips the Windows two-second GPU watchdog. The picture is the same as one pass would give.

Lighting

The gas is lit by the scene's Light3D nodes (point, spot, distant, rect and dome) and by the viewport's HDRI.

  • A rect light is a real area light in Final: a softbox gives soft, even light, not a hot spot.
  • In Final, scene geometry blocks light. Smoke under a roof or a canopy is in its shadow. Only geometry the camera can see is counted: a canopy just out of frame does not shade the fog under it.
  • light_grid caches the lighting on a coarse grid in Live, so shadows inside the gas are soft and cheap.

Colour

  • smoke_albedo is how much light the smoke scatters back (0 = soot, 1 = white steam). The smoke's base colour is on the network's Shading node.
  • Two colours mixing through a ramp: give each emitter an emit_paint (0 to 1) and set scatter_by to paint. The smoke takes its colour from the ramp at that value.
  • Any colours, mixing like dye: give each emitter an emit_color and set scatter_by to dye. Red and blue gas meeting turn purple, blue and gold turn green. White means "no dye", and a sim where every emitter is white carries none. The Colour smoke preset is three sources blown together.
  • Coloured smoke also tints what is behind it, in the composite.

Fog for a shot

The forest presets are built for hiding things in fog and revealing them:

  • Forest fog bank is a dense wall fed from the back of the domain and carried forward by a slow breeze. Use it to hide something large behind the trees.
  • Forest wisps are thin strands drifting through the frame.
  • Forest floor fog is a low layer hugging the ground.
  • Rolling fog billows slowly and thickens over its preroll.

Stack two Kilns (a bank behind, wisps in front) rather than making one do both. To reveal something, animate emit_density down, or push the fog aside with a Wind node animated inside the network.

Big shots

  • A domain too big for the graphics card is paged: only the bricks with gas in them are kept on the GPU. The badge says GPU paged. A 512³ domain with a plume in it steps in about 20 ms using half a gigabyte.
  • If the gas itself outgrows the card, the sim moves to the CPU (much slower) and a VRAM row on the panel says why, with the numbers. Lower resolution or make the domain fit the gas more tightly.
  • For playback, ⚒ Bake the frames to disk. A baked sim plays at disk speed and renders without re-simulating. bake_dir chooses where the bake goes.

When something looks wrong

  • The badge says CPU reference. No GPU was found, or the gas outgrew it (see the VRAM row). If another application filled the graphics card (several Nuke sessions do), Forged rebuilds the GPU device once it recovers and carries on. There is no need to restart.
  • A CFL row. The gas moves faster than the substep ceiling allows. Raise max_substeps (slower) or lower resolution.
  • Frames are black after a long preroll. Scrub back to frame 1 once so the sim restarts from the beginning.
  • Fire looks like a flat glow. Use renderer = final and light the scene. The fire is a light for its own smoke only in Final.