Generalize luminance scaling in color grading (#4321)

* Generalize luminance scaling in color grading

Previously the luminance scaling step was tied to a specific tone
mapping operator, called "EVILS" in the API. This was however
somewhat misleading as EVILS really is a color handling system
that's independent of what we call tone mapping.

This change splits the luminance scaling step from the tone mapping
step, allowing the use of luminance scaling (the LICH part of EVILS)
with any tone mapping operator.

As a result, the operator known as EVILS is currently mapped to the
linear operator and renamed to "RESERVED" until it is replaced by
a proper — configurable — operator.

* Update release notes

* Fix web build
This commit is contained in:
Romain Guy
2021-07-14 22:18:07 -07:00
committed by GitHub
parent 26a54ba86a
commit 64c2ab7048
14 changed files with 156 additions and 65 deletions
+2 -1
View File
@@ -151,8 +151,9 @@ static void colorGradingUI(Settings& settings, float* rangePlot, float* curvePlo
int toneMapping = (int) colorGrading.toneMapping;
ImGui::Combo("Tone-mapping", &toneMapping,
"Linear\0ACES (legacy)\0ACES\0Filmic\0EVILS\0Reinhard\0Display Range\0\0");
"Linear\0ACES (legacy)\0ACES\0Filmic\0Reserved\0Reinhard\0Display Range\0\0");
colorGrading.toneMapping = (decltype(colorGrading.toneMapping)) toneMapping;
ImGui::Checkbox("Luminance scaling", &colorGrading.luminanceScaling);
ImGui::SliderFloat("Exposure", &colorGrading.exposure, -10.0f, 10.0f);