5
$\begingroup$

I've been looking up this question on the internet for a while, and I haven't been very successful, so I decided I'll ask it here. Should I apply tone mapping before gamma correction, gamma correction before tone mapping, or should I just use one or the other?

$\endgroup$

1 Answer 1

4
$\begingroup$

This depends on your calculations really, since you can do it either way. However, probably when you reach tone mapping you will be in linear space (i.e. no gamma correction has been done yet and you don't assume non-linear space for your calculations). Assuming this, gamma correction should be applied after tone mapping, otherwise you have "linear" tone mapping on non-linear color values.

To quote from Real-Time Rendering 3rd by Möller, Haines and Hoffman, p. 145:

It is important to apply the conversion at the final stage of rendering (when the values are written to the display buffer for the last time), and not before. If post-processing is applied after gamma correction, post-processing effects will be computed in nonlinear space, which is incorrect and will often cause visible artifacts. So operations such as tone mapping [...] can be applied to images to adjust luminance balance, but gamma corection should always be done last.

$\endgroup$
3
  • $\begingroup$ Alright, that makes sense. So post processing should usually be applied before gamma correction, so that the operations happen in linear space. Got it. $\endgroup$ Aug 2, 2017 at 1:52
  • $\begingroup$ @DanielKareh it depends on how you developed the tone map. If you developed it say in Photoshop from a screen capture then it will obviously go last $\endgroup$
    – joojaa
    Aug 3, 2017 at 19:00
  • $\begingroup$ @DanielKareh Note though that even in programs like Photoshop you can change the color space $\endgroup$
    – Tare
    Aug 6, 2017 at 8:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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