Tonemapping

Tonemapping is usually understood as the process of mapping color values from HDR (high dynamic range) to LDR (low dynamic range). In Unity, this means for most platforms that arbitrary 16-bit floating point color values will be mapped to traditional 8-bit values in the [0,1] range.

Note that Tonemapping will only properly work if the used camera is HDR enabled. It is also recommended to give light sources higher than normal intensity values to make use of the bigger range. Just as in real life there is huger differences in Luminance and our eyes or any capturing medium is only able to sample a certain range of that.

Tonemapping works well in conjunction with the HDR-enabled Bloom image effect. Make sure that Bloom should be applied before Tonemapping as otherwise all high ranges will be lost. Generally, any effect that can benefit from higher luminances should be scheduled before the Tonemapper (one more example being the Depth of Field image effect).

There are different ways on how to map intensities to LDR (as selected by Mode). This effect provides several techniques, two of them being adaptive (AdaptiveReinhard and AdaptiveReinhardAutoWhite), which means that color changes are carried out delayed as the change in intensities is fully registered. Cameras and the human eye have this effect. This enables interesting dynamic effects such as a simulation of the natural adaption happening when entering or leaving a dark tunnel into bright sunlight.

The following two screenshots show Photographic Tonemapping with different exposure values. Note how banding is avoided by using HDR cameras.



As with the other image effects, this effect is only available in Unity Pro and you must have the Pro Standard Assets installed before it becomes available.

Properties

ModeChoose the desired tonemapping algorithm.
ExposureSimulated exposure, defining the actual range of luminances.
Average greyAverage grey value of the scene that defines the intensity of the result.
WhiteSmallest value that will be mapped white.
Adaption speedAdjustment speed for all adaptive tonemappers.
Texture sizeSize of the internal texture for all adaptive tonemappers. Bigger values capture more details when calculating the new intensity and lower performance.

Hardware support

This effect requires a graphics card with pixel shaders (2.0) or OpenGL ES 2.0. PC: NVIDIA cards since 2003 (GeForce FX), AMD cards since 2004 (Radeon 9500), Intel cards since 2005 (GMA 900); Mobile: OpenGL ES 2.0; Consoles: Xbox 360, PS3.

All image effects automatically disable themselves when they can not run on end-users graphics card.

Page last updated: 2012-11-16