Channel
Rewire and blend a colour's R/G/B/A with a mixer matrix, shuffle, extract, or premultiply. The result stays a colour; use Split and Combine for hue, saturation, and luminance or for RGB to HSL.
What it does
Channel rewires and blends an image's Red, Green, Blue and Alpha. Mix mode makes each output channel a weighted blend of the input's Red, Green and Blue plus a constant offset, a 3×3 mixer matrix equivalent to a channel-mixer adjustment layer, for custom black-and-white conversions and cross-channel grading. Shuffle remaps channels wholesale, with no blending: Green into Red, Alpha duplicated into every channel, a channel zeroed. Extract pulls a single channel, or overall Luminance, out as a greyscale image. Premultiply and Unpremultiply convert between straight and premultiplied alpha for downstream compositing.
The colour model never changes: RGB(A) in, RGB(A) out. For hue/saturation/lightness or an RGB↔HSL conversion, use Split / Combine.
When to use it
Custom black-and-white conversion with your own R/G/B weighting: Mix mode.
Swapping or duplicating channels, Alpha into RGB or Blue into Red: Shuffle mode.
Pulling a single channel, or Luminance, out as a greyscale mask: Extract mode.
Feeding a compositing step that expects premultiplied or straight alpha: Premultiply and Unpremultiply.
Fading this node's result, and everything upstream of it, toward transparent for the composite below: Output Alpha.
| Parameter | Type | Default |
|---|---|---|
content_in | OneOf([FieldOf(Color), FieldOf(Volume), CollectionOf(Crc), Collection, GpuGeometry, CollectionOf(Geometry)]) | — |
mode | String | "Mix" |
red_row | Vec3 | (1, 0, 0) |
green_row | Vec3 | (0, 1, 0) |
blue_row | Vec3 | (0, 0, 1) |
offset | Vec3 | (0, 0, 0) |
out_red | String | "Red" |
out_green | String | "Green" |
out_blue | String | "Blue" |
out_alpha | String | "Alpha" |
extract | String | "Luminance" |
alpha | Number | 1 |
spatial_strength | Field | — |
strength | Number | 1 |
Gotchas
Unpremultiply divides by alpha, which is unstable near zero. Very low-alpha pixels are clamped against a small epsilon rather than divided by true zero, but colour in those areas can still look noisy, mainly at the edges of a mostly-transparent image.
Output Alpha is not a wet/dry control. It scales the alpha channel of the result, fading this node's output and everything upstream of it in the chain toward transparent for the downstream composite. Strength is the separate knob, blending the processed result against the original.
The three Mix rows are vectors, not three separate sockets: each row's X/Y/Z are the Red/Green/Blue input weights for that output channel. The defaults (1,0,0 / 0,1,0 / 0,0,1) are the identity matrix, so each output equals its own input with no cross-mixing. Start there and nudge weights to blend channels in.
Worked example
Add a Channel node and wire an image into it.
For a custom black-and-white conversion, set mode to Mix and adjust the Red/Green/Blue row weights until the greyscale mix looks right, then set Green Row and Blue Row to match the Red row so all three outputs are identical.
To pull out a single channel as a mask instead, switch mode to Extract and choose Alpha, Red, Green, Blue, or Luminance.
If the result feeds a compositor that expects premultiplied alpha, add a second Channel node downstream and set its mode to Premultiply.