Update leenkx/Shaders/std/tonemap.glsl

This commit is contained in:
LeenkxTeam 2025-04-05 13:11:56 +00:00
parent 7cab325397
commit 88949c63c5

View File

@ -41,14 +41,20 @@ vec3 tonemapReinhard(const vec3 color) {
// AGX Simple
vec3 tonemapAgXSimple(vec3 x) {
const vec3 AgX_A = vec3(0.5, 0.5, 0.5);
const vec3 AgX_B = vec3(0.5, 0.5, 0.5);
const vec3 AgX_C = vec3(1.0, 1.0, 1.0);
const vec3 AgX_D = vec3(0.0, 0.0, 0.0);
const vec3 AgX_E = vec3(0.0, 0.0, 0.0);
const vec3 AgX_F = vec3(1.0, 1.0, 1.0);
return (x * (AgX_A * x + AgX_B)) / (x * (AgX_C * x + AgX_D) + AgX_E) + AgX_F;
// TODO CORRECT AND OPTIMIZE
x = max(x, vec3(0.0));
float exposure = 0.6;
x *= exposure;
const vec3 AgX_A = vec3(0.92, 0.92, 0.72);
const vec3 AgX_B = vec3(0.24, 0.24, 0.36);
const vec3 AgX_C = vec3(0.92, 0.92, 0.72);
const vec3 AgX_D = vec3(0.24, 0.24, 0.36);
const vec3 AgX_E = vec3(0.08, 0.08, 0.12);
const vec3 AgX_F = vec3(0.0);
vec3 result = (x * (AgX_A * x + AgX_B)) / (x * (AgX_C * x + AgX_D) + AgX_E) + AgX_F;
float luma = dot(result, vec3(0.2126, 0.7152, 0.0722));
result = mix(vec3(luma), result, 0.6);
return clamp(result, vec3(0.0), vec3(1.0));
}
// AGX Full Contrast Approx