Skip to content

ShaderColormap

Can be also used as a texture render pass, for two textures.

ShaderColormap Node

Per-Channel Color Remapping

ShaderColormap applies lookup table (LUT) transformations to each color channel independently. Use it for color grading, contrast adjustments, gamma correction, color inversion, posterization, and other color manipulation effects. Each channel (red, green, blue) has its own customizable response curve.

Reference

The following properties can be configured for this node:

Property Type Description
factor - factor
map dim - color map dimension
interpolate - use interpolation on the output texture
enable - use this node as a texture render pass node.
red - color map for red channel
green - color map for green channel
blue - color map for blue channel
Inlet Type Description
properties properties properties | use message [set <propertyPath> <value(s)>] (without node/<nodeName> at the beginning) to set internal properties
texture texture texture one (also used for shader)
texture texture texture two
Outlet Type Description
texture texture texture one altered
texture texture texture two altered

How Color Mapping Works

Lookup Table Transformation

Color mapping uses a lookup table (LUT) to transform input values to output values:

  • For each pixel, the input color value (0-255) is used as an index
  • The LUT returns a new value at that index
  • This allows arbitrary remapping of brightness and color response

Each channel (red, green, blue) has its own independent curve, enabling complex color transformations.

Channel Curves

Configuring Color Maps

Each channel has its own color map that defines the input-to-output relationship:

Property Channel Effect
red Red Remaps red channel values
green Green Remaps green channel values
blue Blue Remaps blue channel values

The map dim property sets the resolution of the lookup table (higher = more precision).

Common Effects

Typical Color Transformations

Increase Contrast:

  • Steepen the curve in the middle range
  • Darks become darker, lights become lighter

Gamma Correction:

  • Apply a power curve to compensate for display characteristics
  • Useful for matching projector output to expected brightness

Color Inversion (Negative):

  • Reverse the curve direction (255→0, 0→255)
  • Creates a photographic negative effect

Posterization:

  • Use a stepped/quantized curve
  • Reduces the number of distinct color levels

Channel Swap/Shift:

  • Different curves per channel create color shifts
  • Useful for creative color grading

Dual Texture Processing

Processing Two Textures

ShaderColormap can apply the same color transformation to two textures simultaneously:

  • Connect textures to both inlets
  • Both outlets provide the color-mapped versions
  • Useful when you need identical color correction on related texture pairs

Interpolation

Smooth vs Stepped Output

The interpolate property controls how values between LUT entries are handled:

Setting Effect
On Smooth interpolation between LUT values
Off Nearest-neighbor lookup (can create banding)

Enable interpolation for smooth gradients; disable for intentional posterization effects.

Render Pass Mode

Using as a Texture Render Pass

Enable the enable property to use ShaderColormap as part of a texture render pass:

  • The node processes textures during the render pipeline
  • Useful for integrating color correction into complex rendering chains
  • The factor property controls the effect intensity


Need help or want to suggest improvements?

Report an issue Improve the Docs

Last updated: 2025-12-01 | Edit this page on GitHub