X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=gamma_compression_effect.frag;h=a72a878c84720c1d0bc53274e429a4d7af0659ca;hp=e1e786cdf91426174011568b1367b913f3ff9d80;hb=3306a4a0d2300767eeef71ab877fdf1587d13475;hpb=9ab1efe8dbd389f309a8a3e7f68c48f114a2b901 diff --git a/gamma_compression_effect.frag b/gamma_compression_effect.frag index e1e786c..a72a878 100644 --- a/gamma_compression_effect.frag +++ b/gamma_compression_effect.frag @@ -1,8 +1,9 @@ // Compress gamma curve. -uniform float PREFIX(linear_scale); -uniform float PREFIX(c0), PREFIX(c1), PREFIX(c2), PREFIX(c3), PREFIX(c4); -uniform float PREFIX(beta); +// Implicit uniforms: +// uniform float PREFIX(linear_scale); +// uniform float PREFIX(c)[5]; +// uniform float PREFIX(beta); vec4 FUNCNAME(vec2 tc) { vec4 x = INPUT(tc); @@ -15,7 +16,7 @@ vec4 FUNCNAME(vec2 tc) { // Fourth-order polynomial approximation to pow(). See the .cpp file for details. vec3 s = sqrt(x.rgb); - vec3 b = PREFIX(c0) + (PREFIX(c1) + (PREFIX(c2) + (PREFIX(c3) + PREFIX(c4) * s) * s) * s) * s; + vec3 b = PREFIX(c)[0] + (PREFIX(c)[1] + (PREFIX(c)[2] + (PREFIX(c)[3] + PREFIX(c)[4] * s) * s) * s) * s; vec3 f = vec3(greaterThan(x.rgb, vec3(PREFIX(beta)))); x = vec4(mix(a, b, f), x.a);