Documentation / Node reference / tex nodes
tex/ToneMap
Brings an image that is brighter than white back into the range a screen can show, keeping the detail in its highlights.
Color
An HDR photo, a render or a picture you brightened can hold light far above white. Shown as it is, everything above white turns into flat white. A tone map squeezes that light into 0 to 1 along a curve, so bright areas keep their shape and colour instead of burning out.
Three steps, in this order: exposure multiplies the light first (2 is one stop brighter, 0.5 one stop darker), then the curve named by type maps it into 0 to 1, then gamma bends the result. ACES is a filmic look with rich contrast, Filmic and Uncharted2 are softer filmic curves, Reinhard is the gentlest, and Linear simply cuts everything above white. These are the curves render/Tonemap uses on the viewer, so a texture and a render can match.
Alpha is not changed. Connect an image to the second input, the mask, to tone map 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 tone mapped 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 |
|---|---|---|
| type | UInt8 ACES · FILMIC · LINEAR · REINHARD · UNCHARTED2 | The curve that brings the light into 0 to 1. ACES gives a filmic look with rich contrast. Filmic and Uncharted2 are softer filmic curves. Reinhard is the gentlest and keeps the most of the midtones. Linear does not bend anything and cuts everything above white. |
| exposure | Float | Multiplies the light before the curve. 1 keeps it as it is, 2 is one stop brighter, 0.5 one stop darker. Raise it when the result is too dark, lower it when too much of the picture ends up near white. |
| gamma | Float | Bends the result after the curve. 1 leaves it as it is. Above 1 brightens the midtones and below 1 darkens them, while black and white stay where they are. Leave it at 1 unless you are making a picture for a screen that expects gamma-encoded values. |
| 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.