Colour management

Every colour calculation runs in physically-linear light, and the picture is developed into screen colours once, at the end.

Linear light

Mixing light, brightening a glow and blending two layers are all done in linear colour, the way real light adds up. Blending in the display-encoded colour a monitor shows instead is what makes bright edges look muddy and gradients band.

That final conversion to display colours is the display encode, and it happens once. Everything before it, lighting, layer blending, glows and volumes, stays in unbounded linear light, so highlights go far brighter than white without being clipped early.

The defaults need no attention. The settings below are for changing the look deliberately: a different film look, a wider colour space, or a true HDR signal to an HDR display.

Tone mapping

A scene can contain light far brighter than a screen can show. Tone mapping rolls those bright values down into a range the display can carry, instead of clipping everything brilliant to flat white. Pick the operator as the View Transform in the canvas settings.

Working space

The working space is the space all colour maths happens in.

Switching to ACEScg converts materials and colours into the wider space before lighting, then maps anything too saturated to display back down on the way out so it does not clip harshly. Neither step is managed by hand.

HDR output and display gamuts

The display gamut is the final target the picture is encoded for, meaning the range of colours and brightness sent to the screen or file.

Switching to an HDR gamut on a supported HDR monitor (macOS or Windows) reconfigures the live viewport without a restart.

HDR is honest only when the whole chain supports it: an HDR-capable display, and an HDR-capable file format on export. Exporting an HDR canvas to an 8-bit format like PNG falls back to standard sRGB tags and raises a warning, because an 8-bit file cannot carry HDR faithfully. Use EXR for true HDR stills. HDR video output is not built yet.

The canvas colour settings

All three live on the canvas: Working space, the space the colour maths happens in; View Transform, the tone mapping curve; Display gamut, the final colour and brightness target. Changing any of them updates the whole canvas live.

Converting one image, not the project

The settings above are project-wide. To move a single image between spaces, use the Color Space node: it takes a Source Space and a Target Space, each of which can be Working Space, sRGB, Linear sRGB or ACEScg, and converts between them. It also declares what it produced, so nodes downstream read the image in the space it is actually in rather than assuming linear. Reach for it when footage arrives already display-encoded, or when a texture has to leave in a specific space.

Screen and export match

The live viewport and exported files use the same colour maths, so a render matches the canvas. Export also tags each file, so PNG, TIFF, video and EXR carry the colour metadata other apps read. EXR is the exception: it is saved as raw linear light with no display encode, and film and compositing apps colour-manage it on the way in.

See also