This topic describes parameters of the the custom tonemapper.
struct Tm_custom_curve tm_custom_tonemapper
The structure of type Tm_custom_curve describes a mapping curve controlled by the following members:
mi::Float32 exposure = 0.0
mi::Color3 whitepoint = (0.0, 0.0, 0.0)
struct Tm_custom_curve_control_point red
struct Tm_custom_curve_control_point green
struct Tm_custom_curve_control_point blue
mi::Float32 gamma = 0.0
The components of the tonemapper are applied in the order of the struct members: first exposure control and whitepoint correction are done, then a mapping of the individual color channels, and finally a gamma correction to match the display (a good default is usually 2.2).
The struct members red , green , and blue are dynamic arrays of structures of type Tm_custom_curve_control_point . This structure has the following members:
The input value that is mapped to the corresponding out value.
The output value in is mapped onto.
The represented curve is a piecewise linear interpolation of the given control points. The in and out arrays need to be monotonically increasing. Note that one should disable the built-in gamma correction by setting it to 1, if the mapping curve already handles the display correction.