Canvas

Set the project canvas resolution, background, and colour space.

What it does

Canvas sets a graph's output size, its colour space, and what shows behind everything else. Every graph and every subgraph can carry one Canvas node. Width, Height and Background feed the render pipeline directly, and the colour-space and tone-curve settings decide how the final image looks on screen and in an export.

An image wired into Background Image sits behind the scene instead of the flat colour. Parent Mode decides whether a subgraph's Canvas inherits the parent's settings or sets its own.

When to use it

ParameterTypeDefaultWhat it does
bg_imageRaster—Background image rendered behind the 3D scene. Connect a Raster (e.g., from Fill in Raster mode, Image, Video).
widthNumber1920Canvas width in pixels
heightNumber1080Canvas height in pixels
backgroundColorrgba(0.00, 0.00, 0.00, 0.00)Background color (used when no background image is connected)
precisionString"8-bit"Internal render precision. 16-bit recommended for gradients and feedback loops. 32-bit for maximum precision (no texture filtering). One of: 8-bit, 16-bit HDR, 32-bit Float.
color_spaceString"Linear sRGB"Internal rendering color space. Linear sRGB for standard displays. ACEScg for wide-gamut VFX work (covers P3, Rec.2020). One of: Linear sRGB, ACEScg.
view_transformString"ACES Filmic"Tone curve applied to the HDR scene. ACES Filmic is the real-time default. AgX (Sobotka) reduces hue rotation in saturated colours. Un-tone-mapped passes scene-linear through unchanged (use for EXR export). One of: ACES Filmic, AgX, ACES Fitted, Standard, Reinhard, Uncharted 2, Un-tone-mapped.
display_gamutString"sRGB"Target display encoding for the final viewport / export blit. sRGB is the standard desktop / web default. Display P3 for Apple displays. Rec.2100 PQ / HLG are HDR (require an HDR-capable swapchain — viewport stays SDR until that lands). Linear bypasses the OETF for HDR float export. One of: sRGB, Display P3, Rec.709, Rec.2020, Rec.2100 PQ, Rec.2100 HLG, Linear.
parent_modeString"Match Parent"How this node relates to the parent graph. Match Parent inherits values. Independent uses local values. Link Parent creates a bidirectional connection. One of: Match Parent, Independent, Link Parent.

Gotchas

Background shows only when nothing is wired into Background Image. The image takes priority over the flat colour.

A graph with no Canvas node still renders, at 1920×1080, transparent, 8-bit, without the visible canvas boundary in the viewport.

Only the first Canvas node in a graph is used. A second one shows an error state and is ignored.

Rec.2100 PQ and Rec.2100 HLG describe an HDR display target, but the viewport previews in SDR until HDR display output is supported. They tag export intent rather than previewing true HDR brightness on screen.

Worked example

  1. Add a Canvas node to your graph. Set Width and Height to your target resolution.

  2. Set Background to a colour, or wire an Image/Video into Background Image to use it as a backdrop instead.

  3. For banding, raise Precision to 16-bit HDR, or 32-bit Float for maximum headroom.

  4. For a subgraph, set Parent Mode to Independent so it takes its own resolution and background instead of following the parent graph.

See also

Composite · Layer Manager · Render · Rasters (images)