Colour Correct

Correct colour with per-channel curves, lift/gamma/gain/offset wheels, saturation, and contrast.

What it does

Colour Correct is a grading toolkit in one node: per-channel curves, three-way lift/gamma/gain balancing with offset, saturation, and contrast. It applies to images, colours, and analytic shapes alike, and can load a .cube LUT file.

Opacity blends the graded result back with the original.

When to use it

ParameterTypeDefaultWhat it does
content_inColor Field or Volume or Primitives or Collection or GPU Geometry or Geometries or Color or Color[]—Input image
master_curveCurve—Master curve applied to R, G, B before individual channel curves. Connect a Curve node.
red_curveCurve—Red channel curve. Connect a Curve node.
green_curveCurve—Green channel curve. Connect a Curve node.
blue_curveCurve—Blue channel curve. Connect a Curve node.
alpha_curveCurve—Alpha channel curve. Connect a Curve node.
lut_fileString"String::new()"Load a .cube 3D LUT file for color grading. Applied after curves, before lift/gamma/gain.
lift_rNumber0Shadow tint — red channel. 0 = no change.
lift_gNumber0Shadow tint — green channel. 0 = no change.
lift_bNumber0Shadow tint — blue channel. 0 = no change.
gamma_rNumber1Midtone power — red channel. 1 = no change.
gamma_gNumber1Midtone power — green channel. 1 = no change.
gamma_bNumber1Midtone power — blue channel. 1 = no change.
gain_rNumber1Highlight multiplier — red channel. 1 = no change.
gain_gNumber1Highlight multiplier — green channel. 1 = no change.
gain_bNumber1Highlight multiplier — blue channel. 1 = no change.
offset_rNumber0Uniform offset — red channel. 0 = no change.
offset_gNumber0Uniform offset — green channel. 0 = no change.
offset_bNumber0Uniform offset — blue channel. 0 = no change.
saturationNumber1Color saturation. 0 = monochrome, 1 = unchanged, >1 = more vivid
contrastNumber1Contrast amount. 1 = unchanged, >1 = more contrast, <1 = flatter
contrast_pivotNumber0.500Luminance level around which contrast expands/compresses
clamp_outputBooleantrueClamp output values to 0-1 range
opacityNumber1Blend processed result with original (0 = original, 1 = full effect)
spatial_strengthField—Spatial field controlling where the effect applies (0=bypass, 1=full)
strengthNumber1Effect strength / wet-dry (0 = no effect, 1 = full). Editable, wirable, keyframable.

Gotchas

Processing order is fixed: curves, then the .cube LUT if one is loaded, then lift/gamma/gain/offset, then saturation, then contrast, then the clamp, then the Opacity blend. When a result looks wrong, check whether an earlier stage pushed values out of range before a later one operated on them.

The .cube LUT applies to images only. Grading a flat colour or an analytic shape fill skips the LUT, and only the curves and lift/gamma/gain/offset/saturation/contrast maths carry over.

Clamp Output defaults to on, holding values in 0–1. Turn it off to push values past white or below black for a later node, such as a Levels or exposure adjustment, to pull back in.

Worked example

  1. Add Colour Correct and wire an image into Input Image.

  2. Raise Contrast and nudge Contrast Pivot to taste, then push Saturation up slightly.

  3. Add a Curve node and wire it into Red Curve to warm the highlights.

  4. Lower Opacity to blend the grade back toward the original.

See also

Levels · HSV Grade · Color Space · Colour fields