Home Marmoset

Difference between the 4 types of tone mapping in Toolbag 3

polycounter lvl 6
Offline / Send Message
Andreicus polycounter lvl 6
With the latest versions of Toolbag 3 i noticed that there are now 4 different types of tone mapping: Linear, Hejl, Reinhard and ACES.
Can someone explain me the difference between these 4 ? I tried searching on Google but i didn't find much.
I know that Unreal switched to ACES because is the standard in the film and television industry so should i use that ?

The only difference that i noticed is that from Linear to ACES the scene becomes darker.

Replies

  • leleuxart
    Options
    Offline / Send Message
    leleuxart polycounter lvl 10
    Linear: Standard transform of Linear to sRGB. This doesn't include any tonemapping, so you will get color artifacts around areas that would go beyond 1. Can look pretty flat and is restricting with value ranges.

    Reinhard: The implementation varies quite a bit, but it's similar to a Logarithmic curve. It addresses some issues with the standard gamma transform, where as your highlights don't get crunched as quickly, but you still generally lose a lot of info at the higher range and the shadows are still fairly flat.

    Hejl: One of the more popular filmic tonemappers(pre-ACES), meaning it's based on a sigmoid curve which provides a smooth rolloff to highlights and a bit more contrast in the shadows.

    ACES: Another filmic curve that has become very popular in the game industry. The curve is derived from the film implementation which is a very sophisticated form of color management throughout the entire life of a film. This is a luminance-only fit for the ACES RRT from Stephen Hill, so while it's not the full ACES pipeline, the output will look similar. You're right in that it does get darker, but ACES increase exposure latitude quite a bit and as values get brighter, they get desaturated. This luminance-only curve is similar to Hejl, but with a different s-curve. CryEngine, Unity, Unreal, Painter, Blender, etc all support a variant of the ACES tonemapping.

    I'm biased towards ACES and I personally hate the crunched, saturated highlights in Linear/Reinhard, but it's personal preference. 
  • Andreicus
    Options
    Offline / Send Message
    Andreicus polycounter lvl 6
    leleuxart said:
    Linear: Standard transform of Linear to sRGB. This doesn't include any tonemapping, so you will get color artifacts around areas that would go beyond 1. Can look pretty flat and is restricting with value ranges.

    Reinhard: The implementation varies quite a bit, but it's similar to a Logarithmic curve. It addresses some issues with the standard gamma transform, where as your highlights don't get crunched as quickly, but you still generally lose a lot of info at the higher range and the shadows are still fairly flat.

    Hejl: One of the more popular filmic tonemappers(pre-ACES), meaning it's based on a sigmoid curve which provides a smooth rolloff to highlights and a bit more contrast in the shadows.

    ACES: Another filmic curve that has become very popular in the game industry. The curve is derived from the film implementation which is a very sophisticated form of color management throughout the entire life of a film. This is a luminance-only fit for the ACES RRT from Stephen Hill, so while it's not the full ACES pipeline, the output will look similar. You're right in that it does get darker, but ACES increase exposure latitude quite a bit and as values get brighter, they get desaturated. This luminance-only curve is similar to Hejl, but with a different s-curve. CryEngine, Unity, Unreal, Painter, Blender, etc all support a variant of the ACES tonemapping.

    I'm biased towards ACES and I personally hate the crunched, saturated highlights in Linear/Reinhard, but it's personal preference. 
    Thanks for the clear and detailed explanation. I'm probably going to use ACES.
  • leleuxart
    Options
    Offline / Send Message
    leleuxart polycounter lvl 10
    Don't forget you also have the curves so you can pick one of the tonemappers and then adjust the contrast even further, if you're not a fan of the darker shadows or want to make Linear more contrasty. 

    If you're using Toolbag as a pre-vis tool for Unreal, multiply your exposure by 1.45 to match Unreal's ACES. I believe Unity uses the native ACES implementation so it's not needed, not sure about CryEngine.
  • Andreicus
    Options
    Offline / Send Message
    Andreicus polycounter lvl 6
    leleuxart said:
    Don't forget you also have the curves so you can pick one of the tonemappers and then adjust the contrast even further, if you're not a fan of the darker shadows or want to make Linear more contrasty. 

    If you're using Toolbag as a pre-vis tool for Unreal, multiply your exposure by 1.45 to match Unreal. I believe Unity uses the native implementation, not sure about CryEngine.
    Yes i'll experiment with both Linear and ACES to see what i like the most.
    I like to have not too dark shadows that capture the colors of the lights and the environment in general.

    I didn't know that the exposure was different from Toolbag to Unreal, thanks for the tip.
  • Sidney Eliot
    Options
    Offline / Send Message
    Sidney Eliot triangle
    leleuxart said:
    If you're using Toolbag as a pre-vis tool for Unreal, multiply your exposure by 1.45 to match Unreal's ACES.
    Does this value still stand true for UE5?

Sign In or Register to comment.