Color Correct
Single-pass CDL-style color grading with exposure, gain, lift/gamma/gain, saturation, hue shift, and color temperature.
Category: Color Menu path: Color > ColorCorrect
Ports
| Port | Type | Direction | Description |
|---|---|---|---|
in | imageRgba16f | input | Input image |
out | imageRgba16f | output | Color-corrected result |
Parameters
| Param | Type | Default | Description |
|---|---|---|---|
exposure | scalar | 0.0 | Exposure in stops. Each +1 doubles brightness, each -1 halves it. Keyframeable. |
gain | scalar | 1.0 | Linear brightness multiplier applied before CDL. Keyframeable. |
lift | scalar | 0.0 | Shadow lift (ASC CDL). Adds a constant to all values, raising the black point. Keyframeable. |
gammaCdl | scalar | 1.0 | Midtone gamma (ASC CDL). Values < 1 darken midtones, > 1 brighten them. Keyframeable. |
gainCdl | scalar | 1.0 | Gain multiplier (ASC CDL). Scales values before lift and gamma. Keyframeable. |
saturation | scalar | 1.0 | Color saturation. 0 = grayscale, 1 = original, > 1 = oversaturated. Keyframeable. |
hueShift | scalar | 0.0 | Hue rotation in normalized units (1.0 = full 360-degree rotation). Keyframeable. |
temperature | scalar | 0.0 | White balance shift along the blue-orange axis. Positive = warmer (orange), negative = cooler (blue). Keyframeable. |
Expose Channels
When enabled (E button on node header), adds input ports that override params via edge connections:
| Port | Type | Overrides |
|---|---|---|
exposure_in | scalar | exposure |
gain_in | scalar | gain |
lift_in | scalar | lift |
gammaCdl_in | scalar | gammaCdl |
gainCdl_in | scalar | gainCdl |
saturation_in | scalar | saturation |
hueShift_in | scalar | hueShift |
temperature_in | scalar | temperature |
How It Works
All eight adjustments are applied in a single GPU pass, in this order:
- Exposure -- multiplies by 2^exposure (photographic stops)
- Gain -- linear brightness multiply
- ASC CDL -- gain_cdl multiply, then lift add, then gamma power curve
- Saturation -- lerp between luminance (Rec. 709 weights) and the color
- Hue shift -- RGB-to-HSL conversion, hue rotation, HSL-to-RGB (skipped when hue shift is near zero)
- Temperature -- shifts the blue-orange axis with slight green compensation (skipped when near zero)
The processing is done in premultiplied alpha space (unpremultiply before, repremultiply after) to prevent alpha artifacts.
Usage Examples
Basic: Brighten and warm up footage
- Add a ColorCorrect node after your image source
- Set
exposureto 0.5 (half a stop brighter) - Set
temperatureto 0.3 for a warm look - Reduce
saturationto 0.85 to keep colors from getting too vivid
Creative: Desaturated cinematic look
- Set
saturationto 0.4 - Set
liftto 0.05 to raise the black point (milky shadows) - Set
gainCdlto 0.9 to slightly lower overall brightness - Set
temperatureto -0.1 for a cool teal tone
Advanced: Procedural color shift
Enable expose channels and connect a Noise scalar output to hueShift_in for a shifting psychedelic color effect. Connect a Time node through Math to saturation_in for saturation that changes over time.
Tips
- The parameter groups in Properties are organized as: Exposure & Gain, Lift / Gamma / Gain, Saturation & Color
exposureandgainare multiplicative -- for small adjustments, exposure (in stops) is more intuitive; for precise control, use gain- The ASC CDL parameters (lift/gamma/gain) follow the industry standard Color Decision List order, making it easy to match grades from other tools
temperatureat 0 is neutral; the range is unbounded but typical values are -1 to 1- Hue shift wraps smoothly, so 0.5 shifts all hues by 180 degrees