-
-
Notifications
You must be signed in to change notification settings - Fork 21.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a new high quality tonemapper: ACES Fitted (3.x) #52477
Conversation
Implementation looks good, I'm not sure what is going on with the documentation checks though, its saying the new enum should not be added. |
Checked just now and now I'm stumped too. |
|
Thanks. Updated 🙂 |
Thanks! |
Sorry to necropost, but shouldn’t this visual tweak be also available to the other Tonemap modes, like Filmic and the others? Being it just the way emissive materials behaves regardless of how you tonemap your scene. Is it possible? |
@Leocesar3D this is not a change to the way emissive materials are handled. It is a different, more correct, way of implementing tone mapping using the ACES colour space. |
Giving Filmic its own "Fitted" version still sounds good, though. |
I don't know if this is feasible due to how the filmic tonemapper works. How do other engines handle this? I believe Godot already uses Uncharted 2's formula for filmic tonemapping. |
Other engines implement the industry standard algorithms: Filmic operator, Reinhard operator, Hable's Unchard 2 operator, Narkowicz's approximate ACES operator, and finally, the ACES operator performed in the ACES color space. Unreal Engine 4 deprecated the previous tonemapping operators, and UE5 ditched them altogether in favor of ACES:
The take away here is: previous tonemapping techniques try to approximate what ACES achieves accurately, which is real filmic color grading. But since the previous tonemapping operators have become standards (have been widely used), they are still offered as options for legacy content, or if you want to achieve a particular look. We can't achieve the same look of ACES on previous tonemappers because previous tonemapper perform operations on the RGB color space, while ACES (fitted) transforms from RGB to the ACES color space. |
3.x version of #52476.
Adds a new high quality, tonemapper mode which is more physically accurate. This one better represents how lighting works in the real world. High energy lights or emissive materials will become lighter as they get brighter, eventually becoming white if its color is bright enough to saturate the camera sensor.
Closes #3214 🙂
Current Godot implementation:
ACES Fitted:
Current Godot implementation:
ACES Fitted:
Current Godot implementation:
ACES Fitted:
Additionally, fixes a small bug in the tonemapper that clamped colors even when tonemapping was disabled. Fixes the issue found while reviewing PR #51708. Now the PR should work as expected. 🙂