Blend modes

Each layer carries a blend mode that controls how it composites with the layers below it. Composer supports 16 blend modes, drawn from the standard Porter-Duff and Photoshop-style catalogue:

Mode Behaviour
Normal Pass-through — the layer's RGB replaces the layers below (within its alpha). The default.
Multiply Multiplies layer RGB with the result below; always darkens. White is identity, black wins.
Screen Inverts both, multiplies, inverts the result; always brightens. Black is identity, white wins.
Overlay Combines Multiply (in dark areas) and Screen (in bright areas) — produces an S-curve contrast boost.
Darken Per-channel min(layer, below).
Lighten Per-channel max(layer, below).
Color Dodge Lightens the result toward the layer's brightness; flattens mid-tone contrast.
Difference Per-channel absolute difference; identical pixels go to black.
Subtract Per-channel below - layer, clamped at 0.
Add Per-channel below + layer, clamped at 1; always brightens.
RgbStraight Treats RGB as straight (un-premultiplied) over the alpha — useful for chroma-keyed sources where premultiplied alpha would tint edges.
Hue Replaces the hue of the result with the layer's hue; preserves saturation and luminance.
Saturation Replaces saturation; preserves hue and luminance.
Color Replaces hue and saturation; preserves luminance — colorise a black-and-white below layer.
Luminance Replaces luminance; preserves hue and saturation of the below layer.

For colour-correction and effect-style operators that act on layers (rather than blend modes), see the relevant entries in the Operators manual.

RgbStraight in depth — clean edges across nested scenes

RgbStraight is the blend mode you reach for when you author a keyer scene — a scene whose only job is to produce a clean keyed foreground — and re-use that scene's output as a layer in multiple downstream branding scenes. Without it, you'll see characteristic dark halos around hair, motion-blurred edges, and feathered alpha. Understanding why means understanding the difference between pre-multiplied and straight alpha.

The problem — dark halos in reusable keyer scenes

Most blend modes (including Normal) produce pre-multiplied alpha: the RGB values written by the scene have already been multiplied by the alpha value before the scene's output is consumed. The formula is:

output_rgb = source_rgb × alpha

Now picture a keyer scene with a black background (the default) and a keyed foreground with soft, semi-transparent edges around the subject's hair. Each soft-edge pixel is, say, 50 % transparent — its alpha is 0.5. Because the scene is pre-multiplied, that 50 %-transparency is baked in: the RGB value gets multiplied by 0.5, and since the background is black (0, 0, 0), the edge pixels' colour shifts toward black.

When you then composite that keyer scene's output over a different background in a downstream scene — say a bright red branding scene — those pre-darkened edge pixels create a visible dark halo. The maths has already happened, against the wrong background.

The solution — straight alpha keeps RGB independent

RgbStraight keeps the RGB and alpha channels independent:

output_rgb = source_rgb (unchanged)
output_alpha = computed_alpha

The keyed foreground's edge pixels keep their original colours all the way through. The alpha channel describes only transparency. When a downstream scene composites the source over a new background, the multiplication happens against the actual intended background colour — no premature darkening, no halo.

When to use RgbStraight

Use RgbStraight on the layer that holds your keyed source in any scene where:

  1. The scene's output will be re-used as a layer in another scene.
  2. The current scene's background is black (or any colour you don't want baked into edges).
  3. You want clean, halo-free edges regardless of what background sits beneath downstream.

A typical multi-brand workflow:

  • Keyer scene — contains the HSV Keyer (or IBK 3D Keyer) operator on the camera input. Set the keyed layer's blend mode to RgbStraight. Output is the isolated foreground.
  • Branding scene A — uses the keyer scene as a layer over background A (logos, lower thirds, locale-specific graphics).
  • Branding scene B — uses the keyer scene as a layer over background B.

Each branding scene receives clean, uncontaminated foreground data and composites it correctly over its own background.

When RgbStraight is not needed

If your keyer scene is the final output (no downstream composition), or if you composite directly over the intended branded background within the same scene, Normal is fine — the pre-multiplication happens against the correct background.