Documentation / Node reference / tex nodes

tex/ColorCorrect

Adjusts the brightness, contrast, colour balance, saturation and hue of the image on its input.

Color

The usual colour adjustments of a photo editor, in one node. Every param starts at a value that changes nothing, so the node only does what you set.

They are applied in this order: first brightness multiplies the light. Then the colour grade: lift adds to the shadows, gradeGamma bends the midtones and gain multiplies the highlights, each with its own red, green and blue, so you can warm the shadows and cool the highlights. Then contrast pushes colours away from contrastPivot (or pulls them towards it below 1). Then gamma bends the midtones of all three channels at once. Last, saturation makes the colours stronger or greyer and hue turns them around the colour wheel, both measured the way the eye sees colour (OKLCH), so a change of hue keeps the brightness.

The maths is done in linear light, and colours brighter than white keep their light, so a tone map further down can still use it. A saturation or hue change on a colour that was inside the screen's range keeps it inside, by giving up a little colour rather than changing the hue. Alpha is never changed.

Connect an image to the second input, the mask, to correct only part of the picture: where the mask is white the change is full, where it is black there is none. amount blends between the input and the corrected picture. It runs on the GPU when there is one, and any tex node can feed it. Without compute shaders (the WebGL fallback) it runs on the CPU, and then only images whose pixels are on the CPU can feed it.

Parameters

Name Type What it does
brightness Float How much to multiply the light by, before anything else. 1 keeps the image as it is, 2 doubles the light, 0.5 halves it, 0 is black.
lift Vector3 Added to red, green and blue, which mostly moves the shadows: a little blue lifts the shadows towards blue, a negative value deepens them. 0 changes nothing.
gradeGamma Vector3 Bends the midtones of red, green and blue separately, leaving black and white where they are. Above 1 brightens that channel's midtones, below 1 darkens them. 1 changes nothing. For all channels at once, use gamma.
gain Vector3 Multiplies red, green and blue separately, which mostly moves the highlights: more red in gain warms the bright areas. 1 changes nothing.
contrast Float Above 1 pushes colours away from contrastPivot, so darks get darker and lights lighter. Below 1 pulls them towards it, which flattens the picture. 1 changes nothing. Nothing goes below black.
contrastPivot Float The light level contrast leaves unchanged. The default, 0.18, is the middle grey of linear light, which looks like a mid tone on screen. Raise it to make contrast darken more of the picture.
gamma Float Bends the midtones of all three channels at once, after contrast, leaving black and white where they are. Above 1 brightens the midtones, below 1 darkens them. 1 changes nothing. For one channel at a time, use gradeGamma.
saturation Float How strong the colours are. 0 turns the picture grey, 1 changes nothing, above 1 makes the colours more vivid. The brightness of each colour stays the same.
hue Float Turns every colour around the colour wheel by this many degrees: 180 swaps colours for their opposites. 0 changes nothing. Greys stay grey and each colour keeps its brightness.
channels UInt8 COLOR · ALPHA · ALL · RED · GREEN · BLUE Which channels the change is written to. COLOR changes red, green and blue and keeps the alpha. ALPHA changes only the alpha and keeps the colour, so you can fade a picture without touching its colours. ALL changes all four, and RED, GREEN or BLUE only that one. The other channels stay as they are on the input.
amount Float How much of the change to apply, from 0 (the input, untouched) to 1 (the full change). Values in between blend the input and the changed picture. With a mask, this scales the mask.
maskChannel UInt8 LUMINANCE · ALPHA · RED · GREEN · BLUE Which value of the mask image says how strongly each pixel changes: its brightness (LUMINANCE), its alpha, or its red, green or blue. White, or 1, is the full change, black, or 0, none. LUMINANCE counts transparent parts of the mask as black, so a white shape or text on a transparent background masks by its shape. Only used when an image is connected to the mask input.
invertMask Bool Swaps the mask: the change then happens where the mask is black and not where it is white. Only used when an image is connected to the mask input.

See also

This page is generated from the engine, so it describes the release you can download. The same text is in the editor's Help panel next to the node itself.