Skip to content

Nodes · Color

BS_MasterColor

Colorv1coreTempered

Overview

The whole colour page in one node, applied in a fixed order — because the order is the craft. Balance, tonal wheels, contrast about a pivot, mixer, saturation and hue, six vector zones, curves, qualifier.

How to

  1. Balance first.
  2. Shape tone, then contrast about the pivot you choose.
  3. Reach for the vector zones only for a hue that needs its own treatment.

Inputs

InputWhat it takes
inthe image this node works on
masklimits the effect to this matte — the engine's universal mask slot, applied for every node that declares it

Outputs

OutputType
outImage

Parameters

ParameterTypeDefaultWhat it does
liftColor[0.0, 0.0, 0.0, 0.0]Raises the blacks without touching white.
gammaColor[1.0, 1.0, 1.0, 1.0]Bends the midtones with a power curve; ends stay put.
gainColor[1.0, 1.0, 1.0, 1.0]Multiplies the signal — the main brightness/strength control.
offsetColor[0.0, 0.0, 0.0, 0.0]Adds a constant to every pixel.
tempFloat0.0Colour temperature: negative cools (toward blue), positive warms (toward amber), as a white-balance offset on the whole picture. Balanced against tint.
tintFloat0.0The green–magenta axis of white balance: negative pushes green, positive magenta. Use it after temp to take a cast out of skin.
contrastFloat1.0Steepens (>1) or flattens (<1) the response around the pivot.
pivotFloat0.435Contrast rotates the tone curve ABOUT this value, so the pivot itself never moves. 0.435 holds the midtones while the ends travel; drop it and contrast crushes the blacks instead of opening the highlights.
saturationFloat1.0Colour intensity: 0 = grayscale, 1 = unchanged.
hueFloat0.0Rotate every hue by this many degrees around the wheel. Small values only — it moves skin as much as skies.
mixer_rrFloat1.0Channel mixer: how much of the input RED lands in the output red. 1 is unchanged.
mixer_rgFloat0.0Channel mixer: how much of the input GREEN lands in the output red.
mixer_rbFloat0.0Channel mixer: how much of the input BLUE lands in the output red.
mixer_grFloat0.0Channel mixer: how much of the input red lands in the output GREEN.
mixer_ggFloat1.0Channel mixer: how much of the input green lands in the output green. 1 is unchanged.
mixer_gbFloat0.0Channel mixer: how much of the input blue lands in the output green.
mixer_brFloat0.0Channel mixer: how much of the input red lands in the output BLUE.
mixer_bgFloat0.0Channel mixer: how much of the input green lands in the output blue.
mixer_bbFloat1.0Channel mixer: how much of the input blue lands in the output blue. 1 is unchanged.
mixer_preserveBoolfalseKeep each output channel's mixer weights summing to one, so remixing the channels never changes the overall brightness — only the colour.
mixer_monoBoolfalseSend the same mix to all three outputs: a black-and-white conversion whose weights you choose (a red-filter look weights red up).
red_denFloat0.0Hue vs: density of the reds — negative lightens them, positive darkens them, the other hues untouched.
red_satFloat1.0Hue vs: saturation of the reds alone. 1 is unchanged.
red_hueFloat0.0Hue vs: rotate the reds by this many degrees without moving any other hue.
yellow_denFloat0.0Hue vs: density of the yellows — negative lightens, positive darkens.
yellow_satFloat1.0Hue vs: saturation of the yellows alone. 1 is unchanged.
yellow_hueFloat0.0Hue vs: rotate the yellows by this many degrees.
green_denFloat0.0Hue vs: density of the greens — negative lightens, positive darkens (foliage, screens).
green_satFloat1.0Hue vs: saturation of the greens alone. 1 is unchanged.
green_hueFloat0.0Hue vs: rotate the greens by this many degrees.
cyan_denFloat0.0Hue vs: density of the cyans — negative lightens, positive darkens.
cyan_satFloat1.0Hue vs: saturation of the cyans alone. 1 is unchanged.
cyan_hueFloat0.0Hue vs: rotate the cyans by this many degrees.
blue_denFloat0.0Hue vs: density of the blues — negative lightens, positive darkens (skies).
blue_satFloat1.0Hue vs: saturation of the blues alone. 1 is unchanged.
blue_hueFloat0.0Hue vs: rotate the blues by this many degrees.
magenta_denFloat0.0Hue vs: density of the magentas — negative lightens, positive darkens.
magenta_satFloat1.0Hue vs: saturation of the magentas alone. 1 is unchanged.
magenta_hueFloat0.0Hue vs: rotate the magentas by this many degrees.
qual_enableBoolfalseLimit the whole grade to a qualified colour: hue, saturation and luminance windows multiplied together (the BS_HueQualifier engine, one implementation). Off grades everything.
qual_hue_centerFloat180.0Qualifier: the hue the window is centred on, degrees — 0 red, 120 green, 240 blue.
qual_hue_widthFloat360.0Qualifier: how many degrees of hue qualify fully. 360 is every hue.
qual_hue_softFloat10.0Qualifier: degrees of soft shoulder past the hue width, each side.
qual_sat_lowFloat0.0Qualifier: saturation below this does not qualify.
qual_sat_highFloat1.0Qualifier: saturation above this does not qualify.
qual_sat_softFloat0.1Qualifier: the soft shoulder on both saturation limits.
qual_lum_lowFloat0.0Qualifier: luminance below this does not qualify.
qual_lum_highFloat1.0Qualifier: luminance above this does not qualify.
qual_lum_softFloat0.1Qualifier: the soft shoulder on both luminance limits.
qual_invertBoolfalseQualifier: grade everything the windows do NOT select.
qual_clean_blackFloat0.0Qualifier: matte values at or below this go to 0 — cleans near-misses out of the unqualified area.
qual_clean_whiteFloat0.0Qualifier: matte values at or above this go to 1 — solidifies the core of the selection (0 = off).
curve_masterLut2 pointsA custom curve on all three channels, input level to output level. Identity (two points on the diagonal) does nothing.
curve_rLut2 pointsA custom curve on the red channel alone.
curve_gLut2 pointsA custom curve on the green channel alone.
curve_bLut2 pointsA custom curve on the blue channel alone.
viewChoiceresultThe display transform for viewing only — it never changes the pixels in the graph. resultmatte
hdr_enableBoolfalseTurns on the six tone-zone wheels. Off by default so an existing grade never changes underneath you.
hdr_widthFloat1.0How far each HDR zone reaches. Wide behaves like lift/gamma/gain; narrow is surgical and can band on a smooth gradient. The zones always sum to one, so a uniform move across all six equals one global move.
hdr_black_expFloat0.0HDR palette: exposure of the BLACK zone in stops — the deepest tones, spaced perceptually so it moves the blacks without lifting the shadows.
hdr_black_satFloat1.0HDR palette: saturation of the black zone. 1 is unchanged.
hdr_black_colColor[0.0, 0.0, 0.0, 0.0]HDR palette: a colour offset added in the black zone only — tint the blacks.
hdr_dark_expFloat0.0HDR palette: exposure of the DARK zone in stops, just above the blacks.
hdr_dark_satFloat1.0HDR palette: saturation of the dark zone.
hdr_dark_colColor[0.0, 0.0, 0.0, 0.0]HDR palette: a colour offset in the dark zone only.
hdr_shadow_expFloat0.0HDR palette: exposure of the SHADOW zone in stops — open the shadows without touching the blacks.
hdr_shadow_satFloat1.0HDR palette: saturation of the shadow zone.
hdr_shadow_colColor[0.0, 0.0, 0.0, 0.0]HDR palette: a colour offset in the shadow zone only.
hdr_light_expFloat0.0HDR palette: exposure of the LIGHT zone in stops — the upper mids.
hdr_light_satFloat1.0HDR palette: saturation of the light zone.
hdr_light_colColor[0.0, 0.0, 0.0, 0.0]HDR palette: a colour offset in the light zone only.
hdr_high_expFloat0.0HDR palette: exposure of the HIGHLIGHT zone in stops.
hdr_high_satFloat1.0HDR palette: saturation of the highlight zone.
hdr_high_colColor[0.0, 0.0, 0.0, 0.0]HDR palette: a colour offset in the highlights only.
hdr_spec_expFloat0.0HDR palette: exposure of the SPECULAR zone in stops — the very top, so speculars move without the highlights following.
hdr_spec_satFloat1.0HDR palette: saturation of the specular zone.
hdr_spec_colColor[0.0, 0.0, 0.0, 0.0]HDR palette: a colour offset in the speculars only.
warp_enableBoolfalseTurns on the hue × saturation lattice. Dragging a cell enables it for you.
warp_gridTextThe lattice itself (JSON), authored by dragging in the Warper palette. Hue across, saturation up.
warp_strengthFloat1.0Scales the whole lattice — the global mix for the Warper. Negative inverts what you drew.
nr_lumaFloat0.0How far to smooth brightness noise. Go easy: luma detail is what reads as sharpness.
nr_chromaFloat0.0Colour-noise smoothing. Chroma tolerates far more than luma before anyone notices, and a grade amplifies chroma noise first — usually the one to reach for.
nr_thresholdFloat0.06How different a neighbour may be and still count as a noisy sample of THIS pixel. This is what keeps edges: past it, a neighbour is a different thing, not noise.
nr_radiusFloat2.0How far the noise reduction looks. Bigger removes coarser grain and costs more.
blur_rFloat0.0A blur on the red channel alone, in pixels — softens red noise or a chroma edge without touching detail in the others.
blur_gFloat0.0A blur on the green channel alone, in pixels.
blur_bFloat0.0A blur on the blue channel alone, in pixels — blue carries most sensor noise, so this is the one that usually earns its keep.
blur_aFloat0.0A blur on the alpha alone, in pixels.
disabledBoolfalseBypass: the node passes its first input through untouched (D in the graph). The knobs keep their values for when it comes back.
labelTextA note shown under the node in the graph — what this node is FOR. Never affects the render or the cache.
hide_inputBoolfalseDraw the node without its input wire — a tidy graph for a node whose source is obvious (a Dot, a viewer tap).

See also