Volumes

Render fog, clouds, smoke, and glowing isosurfaces — soft, lit, three-dimensional looks that fill space instead of sitting on a surface.

A Volume is a chunk of 3D density: think of it as a cloud of "stuff" filling a box in your scene. Light travels through it, scatters inside it, and casts soft shadows on itself. Drop a Volume into a render and you get smoke, mist, nebulae, or a clean shaded surface carved out of a Distance Field.

Rendering a volume

The volume.render node takes a volume-shaped input and renders it. There is no mode dropdown to fuss with — the node looks at what you feed it and does the right thing.

You can wire in:

Whatever you give it renders through the same engine, so you can swap sources without rebuilding your shading.

Feeding a Distance Field gives you two looks for free: a crisp shaded surface (sphere-traced, with proper lighting and ambient occlusion) or soft fog filling the shape. The look follows from the data you build upstream — see Distance fields & volumes.

Shaping the look

A volume's appearance is controlled by a single material with a handful of channels:

The renderer ships with a rich shading model out of the box — self-shadowing, multi-bounce glow, a forward/back light response, and edge darkening — so volumes look good before you touch a slider. The Detail strength is the one look knob exposed directly; the rest are tuned to look right automatically.

ParameterTypeDefault
sourcesAnyCollection(AttributedCollection { col...
fillOneOf([Color, FieldOf(Color), Field])
material_inOneOf([ImplicitRenderSettings])
edge_falloffNumber0.500
volume_depthNumber0
frame_channel_modeString"Color"
mesh_modeString"SDF"
point_radiusNumber1
kernel_typeString"Gaussian"
smoothnessNumber0
fog_distanceNumber50
detail_strengthNumber0.350
emission_intensityNumber0
voxel_resolutionNumber64
voxel_paddingNumber0.100
voxel_fill_interiorBooleantrue
voxel_tessellationString"Medium"
sdf_resolutionNumber128
sdf_max_distanceNumber10
resolutionNumber128
bounds_sizeNumber100
scatteringNumber0.500
absorptionNumber0.100
phaseNumber0.300
ambientNumber0.200
alphaNumber0.500
strengthNumber1

Live video into a volume

You can route a live camera or video stream straight into the Volume node. Frames stack into the 3D box and update every frame, giving you a moving volumetric slab you can light and shade like any other volume — handy for performance visuals.

The volume renderer runs on the built-in GPU renderer. Like the rest of rendering, it is real-time and lives entirely on the GPU — no offline bake step, no separate cache to manage. External or third-party renderers (path tracers and the like) are a future extension point and do not render volumes today.

Performance

Volumes are some of the heaviest things you can render, because the engine has to march a ray through space for every pixel. It works hard to stay fast — skipping empty space, stopping early once a pixel is solid, and reusing work between frames — but a few settings move the dial most:

If a volume render is dragging your frame rate, drop the resolution first — it usually buys back the most speed for the least visible loss. Watch the Performance panel while you tune.

See also