]> git.sesse.net Git - movit/blob - lift_gamma_gain_effect.frag
When correcting for white balance, move the D65 normalization into compute_lms_scalin...
[movit] / lift_gamma_gain_effect.frag
1 // These are calculated in the host code to save some arithmetic.
2 uniform vec3 PREFIX(gain_pow_inv_gamma);  // gain^(1/gamma).
3 uniform vec3 PREFIX(inv_gamma_22);  // 2.2 / gamma.
4
5 vec4 FUNCNAME(vec2 tc) {
6         vec4 x = INPUT(tc);
7
8         x.rgb = pow(x.rgb, vec3(1.0/2.2));
9         x.rgb += PREFIX(lift) * (vec3(1) - x.rgb);
10         x.rgb = pow(x.rgb, PREFIX(inv_gamma_22));
11         x.rgb *= PREFIX(gain_pow_inv_gamma);
12
13         return x;
14 }