Color Split
Extracts individual R, G, B, and A channels from an image as separate grayscale outputs.
Category: Color Menu path: Color > ColorSplit
Ports
| Port | Type | Direction | Description |
|---|---|---|---|
in | imageRgba16f | input | Input image |
r | imageRgba16f | output | Red channel as grayscale (full alpha) |
g | imageRgba16f | output | Green channel as grayscale (full alpha) |
b | imageRgba16f | output | Blue channel as grayscale (full alpha) |
a | imageRgba16f | output | Alpha channel as grayscale (full alpha) |
Parameters
None. Color Split has no parameters.
How It Works
Each output port runs a GPU pass that extracts one channel from the input image and writes it as a grayscale image with full opacity. For the R, G, and B outputs, the shader unpremultiplies the input first (divides RGB by alpha) so the extracted value represents the true color channel, not the premultiplied value. The A output extracts the alpha directly since it is already in straight form.
Each output is independent -- only connected outputs are evaluated, so unconnected channels have zero performance cost.
Usage Examples
Basic: Isolate a color channel
- Add a ColorSplit node after your image source
- Connect the
routput to view just the red channel - Use the grayscale output as a mask or feed it into further processing
Creative: Channel mixing via recombination
- Split an image into channels with ColorSplit
- Route the channels through different effect chains (e.g., blur the red, invert the blue)
- Use a custom shader or layered compositing to recombine them
Advanced: Alpha-based effects
Connect the a output to a Matte node's matte input to use the image's own alpha as a matte source. Or feed it into a Colorize node to visualize the alpha channel as a color gradient.
Tips
- ColorSplit outputs are always full-opacity grayscale images -- the extracted channel value is replicated across R, G, and B
- Only connected outputs incur a GPU pass. Leave unused channels disconnected for best performance.
- For extracting a single channel as a scalar field (rather than an image), use the ImageSample node with a channel selector instead