5
$\begingroup$

Rendering with blender cycles, I noticed the option "exposure" under the "film" section in the rendering menu. Clearly, increasing the exposure value increases the image brightness, but does anyone know what function is used?

Naively, I'd expect increasing the exposure by a factor of x would be equivalent to multiplying all RGB channels by a factor of x, either before of after applying an image gamma.

Is this hypothesis correct, or is a different function being used?

$\endgroup$
4
$\begingroup$

Based on the code on gitHub (kernel_film.h), it looks like the exposure is indeed a simple multiplication, applied on the linear space before gamma correction:

ccl_device float4 film_map(KernelGlobals *kg, float4 irradiance, float scale)
{
    float exposure = kernel_data.film.exposure;
    float4 result = irradiance*scale;

    /* conversion to srgb */
    result.x = color_scene_linear_to_srgb(result.x*exposure);
    result.y = color_scene_linear_to_srgb(result.y*exposure);
    result.z = color_scene_linear_to_srgb(result.z*exposure);

    /* clamp since alpha might be > 1.0 due to russian roulette */
    result.w = clamp(result.w, 0.0f, 1.0f);

    return result;
}
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.