Generator node
Composite
A compositor with its own canvas: pick an exact pixel size, an aspect ratio, or follow the render view, then stack up to 8 image layers on it — each with its own Mask, Blend mode (14 Photoshop-style modes), Opacity and Fit mode. The result is a single Image, so composites chain into other composites, filters or a Canvas. This is the node for building a finished frame at a fixed delivery resolution instead of layering Canvas nodes on the viewport.
Outputs
| Port | Type |
|---|---|
| Image | image |
| WidthSize Mode: Custom only — canvas width in pixels. | float |
| HeightSize Mode: Custom only — canvas height in pixels. | float |
Live Preview
How It Works
Composite renders on two GPU compute passes per frame. The first composites every connected layer into an internal texture at the node's own exact pixel size, bottom-to-top in layer order (Image 1 is the bottom layer, Image 8 the top). The second "present" pass letterboxes that finished composite into the viewport-sized output texture, aspect preserved with transparent bars — so a downstream Canvas shows the composite at its true proportions, and a chained Composite can read the content rectangle back through the standard Width/Height contract.
Size Mode decides the internal canvas resolution (clamped to 16–8192 px per side):
| Value | Size Mode | Resolution |
|---|---|---|
| 0 | Render View | Matches the render viewport pixel size |
| 1 | Custom Pixels | Exactly Width × Height |
| 2 | Aspect Ratio | The Aspect W : Aspect H box fitted inside the render view |
Compositing math follows the W3C spec on straight (un-premultiplied) colors: each layer's texture is un-premultiplied, blended against the accumulated backdrop, then combined with source-over alpha. Coverage per pixel is source alpha × Opacity × mask. The final write re-premultiplies, and Background Color seeds the accumulator (default fully transparent).
Each layer is re-fitted onto the composite canvas by inverse-mapping its Fit mode against the composite's aspect — and crucially, the fit works on the layer's content rectangle (its declared Width/Height in Grafit units) rather than on the padded viewport texture, so a small shape doesn't get treated as a full-frame image:
| Value | Fit | Behavior |
|---|---|---|
| 0 | Fit | Letterbox — whole content visible, transparent bars |
| 1 | Fill | Crop — content covers the canvas, overflow cut |
| 2 | Stretch | Content distorted to exactly fill the canvas |
| 3 | Original Size | 1:1 pixel mapping — no rescaling |
A layer's optional Mask is sampled in composite space and always covers aspect-preserving (fill, never stretched — a silhouette keeps its proportions on any canvas). Mask coverage comes from the mask's premultiplied luminance: white opaque areas pass the layer through, black or empty areas block it.
Blend selects how the layer's straight color s combines with the backdrop b beneath it (the blend result is mixed toward the plain source where the backdrop is transparent, per W3C):
| Value | Blend | Formula / effect |
|---|---|---|
| 0 | Normal | s — plain source-over alpha compositing |
| 1 | Add | min(b + s, 1) — linear dodge, brightens, glow and light |
| 2 | Multiply | b · s — darkens; white is neutral |
| 3 | Screen | b + s − b·s — lightens; black is neutral, inverse of Multiply |
| 4 | Overlay | Multiply where the backdrop is dark, Screen where light — contrast boost |
| 5 | Soft Light | Gentle dodge/burn: s ≤ 0.5 darkens, above lightens, with a smooth curve near black |
| 6 | Hard Light | Overlay driven by the source instead of the backdrop — harsh contrast |
| 7 | Darken | min(b, s) — keeps the darker channel |
| 8 | Lighten | max(b, s) — keeps the lighter channel |
| 9 | Difference | abs(b − s) — absolute channel difference, inverting overlaps |
| 10 | Exclusion | b + s − 2·b·s — softer, lower-contrast Difference |
| 11 | Color Dodge | b / (1 − s) clamped — brightens the backdrop hard toward white |
| 12 | Color Burn | 1 − (1 − b) / s clamped — darkens the backdrop hard toward black |
| 13 | Subtract | max(b − s, 0) — removes source luminance from the backdrop |
Layer port groups appear progressively: Image 1 is always visible, Image N appears once Image N−1 is connected, and a layer's Mask, Blend, Opacity and Fit ports only appear once its Image is connected. Likewise, Width/Height show only in Custom Pixels mode and Aspect W/Aspect H only in Aspect Ratio mode. With Enable false, no layers are composited — only the transparent/background canvas is produced.
Parameters in Depth
Canvas
| Port | Default | Meaning |
|---|---|---|
| Enable | true | Off produces an empty canvas (no layers composited) |
| Size Mode | 0 | Render View / Custom Pixels / Aspect Ratio |
| Width | 1920 | Canvas width in pixels (Custom Pixels only, 16–8192) |
| Height | 1080 | Canvas height in pixels (Custom Pixels only, 16–8192) |
| Aspect W | 16 | Aspect numerator (Aspect Ratio only) |
| Aspect H | 9 | Aspect denominator (Aspect Ratio only) |
| Background Color | (0, 0, 0, 0) | Base color under all layers; default fully transparent |
Per layer, N = 1…8
| Port | Default | Meaning |
|---|---|---|
| Image N | — | Layer texture; layer 1 is the bottom, 8 the top |
| Mask N | — | Optional mask; luminance gates the layer, aspect-preserving cover fit |
| Blend N | 0 | Blend mode 0–13 (table above) |
| Opacity N | 1 | Layer opacity 0–1, multiplied into coverage |
| Fit N | 0 | Fit / Fill / Stretch / Original Size |
Outputs: Image (the composited texture), plus Width/Height reporting the composite's content size in Grafit units — which is exactly what lets a chained Composite or a Canvas place it at its true aspect ratio.
Practical interactions: Opacity N and the mask multiply together, so a 50% layer under a mid-gray mask reads at 25%. Blend modes operate against everything already accumulated below, not against a single layer — reordering connections changes the result. Original Size maps source pixels 1:1 onto the canvas, which means a small source lands small even on an 8K canvas.
Use Cases
- Fixed-resolution delivery frame: several generators → Composite (
Size Mode = Custom Pixels, 1920×1080) → Canvas — build the show at broadcast resolution regardless of window size. - Vertical social cut: the same graph → a second Composite with
Size Mode = Aspect Ratio,Aspect W 9/Aspect H 16, layers set toFill— an instant portrait crop of the same scene. - Masked reveal: Video Player →
Image 1; Text generator →Image 2with a Shape generator intoMask 2— the text appears only inside the moving shape. - Glow stack: base render →
Image 1(Blend = Normal), the same render blurred →Image 2(Blend = Add,Opacity 0.6) → Canvas. - Duotone / grade over footage: Camera Input →
Image 1; a flat Color generator →Image 2withBlend = OverlayorSoft Lightat partial opacity. - Chained composites: Composite (background plate) → Composite (
Image 1= plate,Image 2= foreground elements,Blend = Screen) → Image Adjustment → Canvas — group layers logically and grade the whole stack at once.
Tips
- The output is still an offscreen texture: it needs a Canvas node to reach the screen. Layer ordering happens inside Composite (Image 1 = bottom); the Canvas layer system is separate and only orders Canvas nodes.
- Prefer Composite over many Canvas nodes when you want a fixed pixel canvas, per-layer masks, or blend modes richer than Canvas's four — and when you want to grade or transform the whole stack afterwards as one image.
- Masks read luminance from premultiplied pixels: an empty (transparent) mask region blocks the layer entirely, exactly like black. A generator that outputs a white shape on transparency is a ready-made matte.
Fitworks on the content rectangle each source declares through itsWidth/Heightoutputs, so a small generated shape stays small underFit/Fillinstead of being blown up to the full padded texture — useStretchdeliberately when you actually want distortion.- Very large
Custom Pixelscanvases cost fill rate on every frame; 8192 is the hard ceiling per side, but a 1080p or 1440p canvas is usually the sweet spot for live work. - Related nodes: Image Adjustment for grading the composited result, Image Transform for moving/warping a layer before it enters a slot, and Canvas for final placement in the 3D output scene.
Open Composite in the interactive catalog →
Composite is one of 381 nodes in Grafit Pro.
Free download. Every feature for 7 days, no card. Then €99.99 once — or keep playing your projects as a Player.