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
- Balance first.
- Shape tone, then contrast about the pivot you choose.
- Reach for the vector zones only for a hue that needs its own treatment.
Inputs
| Input | What it takes |
|---|---|
| in | the image this node works on |
| mask | limits the effect to this matte — the engine's universal mask slot, applied for every node that declares it |
Outputs
| Output | Type |
|---|---|
| out | Image |
Parameters
| Parameter | Type | Default | What it does |
|---|---|---|---|
| lift | Color | [0.0, 0.0, 0.0, 0.0] | Raises the blacks without touching white. |
| gamma | Color | [1.0, 1.0, 1.0, 1.0] | Bends the midtones with a power curve; ends stay put. |
| gain | Color | [1.0, 1.0, 1.0, 1.0] | Multiplies the signal — the main brightness/strength control. |
| offset | Color | [0.0, 0.0, 0.0, 0.0] | Adds a constant to every pixel. |
| temp | Float | 0.0 | Colour temperature: negative cools (toward blue), positive warms (toward amber), as a white-balance offset on the whole picture. Balanced against tint. |
| tint | Float | 0.0 | The green–magenta axis of white balance: negative pushes green, positive magenta. Use it after temp to take a cast out of skin. |
| contrast | Float | 1.0 | Steepens (>1) or flattens (<1) the response around the pivot. |
| pivot | Float | 0.435 | Contrast 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. |
| saturation | Float | 1.0 | Colour intensity: 0 = grayscale, 1 = unchanged. |
| hue | Float | 0.0 | Rotate every hue by this many degrees around the wheel. Small values only — it moves skin as much as skies. |
| mixer_rr | Float | 1.0 | Channel mixer: how much of the input RED lands in the output red. 1 is unchanged. |
| mixer_rg | Float | 0.0 | Channel mixer: how much of the input GREEN lands in the output red. |
| mixer_rb | Float | 0.0 | Channel mixer: how much of the input BLUE lands in the output red. |
| mixer_gr | Float | 0.0 | Channel mixer: how much of the input red lands in the output GREEN. |
| mixer_gg | Float | 1.0 | Channel mixer: how much of the input green lands in the output green. 1 is unchanged. |
| mixer_gb | Float | 0.0 | Channel mixer: how much of the input blue lands in the output green. |
| mixer_br | Float | 0.0 | Channel mixer: how much of the input red lands in the output BLUE. |
| mixer_bg | Float | 0.0 | Channel mixer: how much of the input green lands in the output blue. |
| mixer_bb | Float | 1.0 | Channel mixer: how much of the input blue lands in the output blue. 1 is unchanged. |
| mixer_preserve | Bool | false | Keep each output channel's mixer weights summing to one, so remixing the channels never changes the overall brightness — only the colour. |
| mixer_mono | Bool | false | Send the same mix to all three outputs: a black-and-white conversion whose weights you choose (a red-filter look weights red up). |
| red_den | Float | 0.0 | Hue vs: density of the reds — negative lightens them, positive darkens them, the other hues untouched. |
| red_sat | Float | 1.0 | Hue vs: saturation of the reds alone. 1 is unchanged. |
| red_hue | Float | 0.0 | Hue vs: rotate the reds by this many degrees without moving any other hue. |
| yellow_den | Float | 0.0 | Hue vs: density of the yellows — negative lightens, positive darkens. |
| yellow_sat | Float | 1.0 | Hue vs: saturation of the yellows alone. 1 is unchanged. |
| yellow_hue | Float | 0.0 | Hue vs: rotate the yellows by this many degrees. |
| green_den | Float | 0.0 | Hue vs: density of the greens — negative lightens, positive darkens (foliage, screens). |
| green_sat | Float | 1.0 | Hue vs: saturation of the greens alone. 1 is unchanged. |
| green_hue | Float | 0.0 | Hue vs: rotate the greens by this many degrees. |
| cyan_den | Float | 0.0 | Hue vs: density of the cyans — negative lightens, positive darkens. |
| cyan_sat | Float | 1.0 | Hue vs: saturation of the cyans alone. 1 is unchanged. |
| cyan_hue | Float | 0.0 | Hue vs: rotate the cyans by this many degrees. |
| blue_den | Float | 0.0 | Hue vs: density of the blues — negative lightens, positive darkens (skies). |
| blue_sat | Float | 1.0 | Hue vs: saturation of the blues alone. 1 is unchanged. |
| blue_hue | Float | 0.0 | Hue vs: rotate the blues by this many degrees. |
| magenta_den | Float | 0.0 | Hue vs: density of the magentas — negative lightens, positive darkens. |
| magenta_sat | Float | 1.0 | Hue vs: saturation of the magentas alone. 1 is unchanged. |
| magenta_hue | Float | 0.0 | Hue vs: rotate the magentas by this many degrees. |
| qual_enable | Bool | false | Limit 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_center | Float | 180.0 | Qualifier: the hue the window is centred on, degrees — 0 red, 120 green, 240 blue. |
| qual_hue_width | Float | 360.0 | Qualifier: how many degrees of hue qualify fully. 360 is every hue. |
| qual_hue_soft | Float | 10.0 | Qualifier: degrees of soft shoulder past the hue width, each side. |
| qual_sat_low | Float | 0.0 | Qualifier: saturation below this does not qualify. |
| qual_sat_high | Float | 1.0 | Qualifier: saturation above this does not qualify. |
| qual_sat_soft | Float | 0.1 | Qualifier: the soft shoulder on both saturation limits. |
| qual_lum_low | Float | 0.0 | Qualifier: luminance below this does not qualify. |
| qual_lum_high | Float | 1.0 | Qualifier: luminance above this does not qualify. |
| qual_lum_soft | Float | 0.1 | Qualifier: the soft shoulder on both luminance limits. |
| qual_invert | Bool | false | Qualifier: grade everything the windows do NOT select. |
| qual_clean_black | Float | 0.0 | Qualifier: matte values at or below this go to 0 — cleans near-misses out of the unqualified area. |
| qual_clean_white | Float | 0.0 | Qualifier: matte values at or above this go to 1 — solidifies the core of the selection (0 = off). |
| curve_master | Lut | 2 points | A custom curve on all three channels, input level to output level. Identity (two points on the diagonal) does nothing. |
| curve_r | Lut | 2 points | A custom curve on the red channel alone. |
| curve_g | Lut | 2 points | A custom curve on the green channel alone. |
| curve_b | Lut | 2 points | A custom curve on the blue channel alone. |
| view | Choice | result | The display transform for viewing only — it never changes the pixels in the graph. resultmatte |
| hdr_enable | Bool | false | Turns on the six tone-zone wheels. Off by default so an existing grade never changes underneath you. |
| hdr_width | Float | 1.0 | How 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_exp | Float | 0.0 | HDR palette: exposure of the BLACK zone in stops — the deepest tones, spaced perceptually so it moves the blacks without lifting the shadows. |
| hdr_black_sat | Float | 1.0 | HDR palette: saturation of the black zone. 1 is unchanged. |
| hdr_black_col | Color | [0.0, 0.0, 0.0, 0.0] | HDR palette: a colour offset added in the black zone only — tint the blacks. |
| hdr_dark_exp | Float | 0.0 | HDR palette: exposure of the DARK zone in stops, just above the blacks. |
| hdr_dark_sat | Float | 1.0 | HDR palette: saturation of the dark zone. |
| hdr_dark_col | Color | [0.0, 0.0, 0.0, 0.0] | HDR palette: a colour offset in the dark zone only. |
| hdr_shadow_exp | Float | 0.0 | HDR palette: exposure of the SHADOW zone in stops — open the shadows without touching the blacks. |
| hdr_shadow_sat | Float | 1.0 | HDR palette: saturation of the shadow zone. |
| hdr_shadow_col | Color | [0.0, 0.0, 0.0, 0.0] | HDR palette: a colour offset in the shadow zone only. |
| hdr_light_exp | Float | 0.0 | HDR palette: exposure of the LIGHT zone in stops — the upper mids. |
| hdr_light_sat | Float | 1.0 | HDR palette: saturation of the light zone. |
| hdr_light_col | Color | [0.0, 0.0, 0.0, 0.0] | HDR palette: a colour offset in the light zone only. |
| hdr_high_exp | Float | 0.0 | HDR palette: exposure of the HIGHLIGHT zone in stops. |
| hdr_high_sat | Float | 1.0 | HDR palette: saturation of the highlight zone. |
| hdr_high_col | Color | [0.0, 0.0, 0.0, 0.0] | HDR palette: a colour offset in the highlights only. |
| hdr_spec_exp | Float | 0.0 | HDR palette: exposure of the SPECULAR zone in stops — the very top, so speculars move without the highlights following. |
| hdr_spec_sat | Float | 1.0 | HDR palette: saturation of the specular zone. |
| hdr_spec_col | Color | [0.0, 0.0, 0.0, 0.0] | HDR palette: a colour offset in the speculars only. |
| warp_enable | Bool | false | Turns on the hue × saturation lattice. Dragging a cell enables it for you. |
| warp_grid | Text | The lattice itself (JSON), authored by dragging in the Warper palette. Hue across, saturation up. | |
| warp_strength | Float | 1.0 | Scales the whole lattice — the global mix for the Warper. Negative inverts what you drew. |
| nr_luma | Float | 0.0 | How far to smooth brightness noise. Go easy: luma detail is what reads as sharpness. |
| nr_chroma | Float | 0.0 | Colour-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_threshold | Float | 0.06 | How 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_radius | Float | 2.0 | How far the noise reduction looks. Bigger removes coarser grain and costs more. |
| blur_r | Float | 0.0 | A blur on the red channel alone, in pixels — softens red noise or a chroma edge without touching detail in the others. |
| blur_g | Float | 0.0 | A blur on the green channel alone, in pixels. |
| blur_b | Float | 0.0 | A blur on the blue channel alone, in pixels — blue carries most sensor noise, so this is the one that usually earns its keep. |
| blur_a | Float | 0.0 | A blur on the alpha alone, in pixels. |
| disabled | Bool | false | Bypass: the node passes its first input through untouched (D in the graph). The knobs keep their values for when it comes back. |
| label | Text | A note shown under the node in the graph — what this node is FOR. Never affects the render or the cache. | |
| hide_input | Bool | false | Draw the node without its input wire — a tidy graph for a node whose source is obvious (a Dot, a viewer tap). |
See also
- The Blacksmith family — Tools that do a whole job instead of a whole operation.
- Colour (MasterColor) — How to do a grade as one thought instead of eleven nodes.