diff --git a/src/plugins/colorblindnesscorrection/shaders/Deutranopia.frag b/src/plugins/colorblindnesscorrection/shaders/Deutranopia.frag index 8ec5e257ea..f1c2c8bf67 100644 --- a/src/plugins/colorblindnesscorrection/shaders/Deutranopia.frag +++ b/src/plugins/colorblindnesscorrection/shaders/Deutranopia.frag @@ -24,17 +24,15 @@ void main() float m = 0.494207 * L + 0.0 * M + 1.24827 * S; float s = 0.0 * L + 0.0 * M + 1.0 * S; - vec4 error; + vec3 error; error.r = (0.0809444479 * l) + (-0.130504409 * m) + (0.116721066 * s); error.g = (-0.0102485335 * l) + (0.0540193266 * m) + (-0.113614708 * s); error.b = (-0.000365296938 * l) + (-0.00412161469 * m) + (0.693511405 * s); - error.a = 1.0; - vec4 diff = tex - error; - vec4 correction; + vec3 diff = tex.rgb - error; + vec3 correction; correction.r = 0.0; correction.g = (diff.r * 0.7) + (diff.g * 1.0); correction.b = (diff.r * 0.7) + (diff.b * 1.0); - correction = tex + correction; - gl_FragColor = correction * modulation; + gl_FragColor = (tex + vec4(correction, 0.0)) * modulation; } diff --git a/src/plugins/colorblindnesscorrection/shaders/Deutranopia_core.frag b/src/plugins/colorblindnesscorrection/shaders/Deutranopia_core.frag index 71b9c8f6e4..0185de4f0b 100644 --- a/src/plugins/colorblindnesscorrection/shaders/Deutranopia_core.frag +++ b/src/plugins/colorblindnesscorrection/shaders/Deutranopia_core.frag @@ -27,17 +27,15 @@ void main() float m = 0.494207 * L + 0.0 * M + 1.24827 * S; float s = 0.0 * L + 0.0 * M + 1.0 * S; - vec4 error; + vec3 error; error.r = (0.0809444479 * l) + (-0.130504409 * m) + (0.116721066 * s); error.g = (-0.0102485335 * l) + (0.0540193266 * m) + (-0.113614708 * s); error.b = (-0.000365296938 * l) + (-0.00412161469 * m) + (0.693511405 * s); - error.a = 1.0; - vec4 diff = tex - error; - vec4 correction; + vec3 diff = tex.rgb - error; + vec3 correction; correction.r = 0.0; correction.g = (diff.r * 0.7) + (diff.g * 1.0); correction.b = (diff.r * 0.7) + (diff.b * 1.0); - correction = tex + correction; - fragColor = correction * modulation; + fragColor = (tex + vec4(correction, 0.0)) * modulation; } diff --git a/src/plugins/colorblindnesscorrection/shaders/Protanopia.frag b/src/plugins/colorblindnesscorrection/shaders/Protanopia.frag index ab34c558bf..fecf96f678 100644 --- a/src/plugins/colorblindnesscorrection/shaders/Protanopia.frag +++ b/src/plugins/colorblindnesscorrection/shaders/Protanopia.frag @@ -24,17 +24,15 @@ void main() float m = 0.0 * L + 1.0 * M + 0.0 * S; float s = 0.0 * L + 0.0 * M + 1.0 * S; - vec4 error; + vec3 error; error.r = (0.0809444479 * l) + (-0.130504409 * m) + (0.116721066 * s); error.g = (-0.0102485335 * l) + (0.0540193266 * m) + (-0.113614708 * s); error.b = (-0.000365296938 * l) + (-0.00412161469 * m) + (0.693511405 * s); - error.a = 1.0; - vec4 diff = tex - error; - vec4 correction; + vec3 diff = tex.rgb - error; + vec3 correction; correction.r = 0.0; correction.g = (diff.r * 0.7) + (diff.g * 1.0); correction.b = (diff.r * 0.7) + (diff.b * 1.0); - correction = tex + correction; - gl_FragColor = correction * modulation; + gl_FragColor = (tex + vec4(correction, 0.0)) * modulation; } diff --git a/src/plugins/colorblindnesscorrection/shaders/Protanopia_core.frag b/src/plugins/colorblindnesscorrection/shaders/Protanopia_core.frag index c81142d8ba..d80626500f 100644 --- a/src/plugins/colorblindnesscorrection/shaders/Protanopia_core.frag +++ b/src/plugins/colorblindnesscorrection/shaders/Protanopia_core.frag @@ -27,17 +27,15 @@ void main() float m = 0.0 * L + 1.0 * M + 0.0 * S; float s = 0.0 * L + 0.0 * M + 1.0 * S; - vec4 error; + vec3 error; error.r = (0.0809444479 * l) + (-0.130504409 * m) + (0.116721066 * s); error.g = (-0.0102485335 * l) + (0.0540193266 * m) + (-0.113614708 * s); error.b = (-0.000365296938 * l) + (-0.00412161469 * m) + (0.693511405 * s); - error.a = 1.0; - vec4 diff = tex - error; - vec4 correction; + vec3 diff = tex.rgb - error; + vec3 correction; correction.r = 0.0; correction.g = (diff.r * 0.7) + (diff.g * 1.0); correction.b = (diff.r * 0.7) + (diff.b * 1.0); - correction = tex + correction; - fragColor = correction * modulation; + fragColor = (tex + vec4(correction, 0.0)) * modulation; } diff --git a/src/plugins/colorblindnesscorrection/shaders/Tritanopia.frag b/src/plugins/colorblindnesscorrection/shaders/Tritanopia.frag index b9347e00e2..e68f75eb14 100644 --- a/src/plugins/colorblindnesscorrection/shaders/Tritanopia.frag +++ b/src/plugins/colorblindnesscorrection/shaders/Tritanopia.frag @@ -24,17 +24,15 @@ void main() float m = 0.0 * L + 1.0 * M + 0.0 * S; float s = -0.395913 * L + 0.801109 * M + 0.0 * S; - vec4 error; + vec3 error; error.r = (0.0809444479 * l) + (-0.130504409 * m) + (0.116721066 * s); error.g = (-0.0102485335 * l) + (0.0540193266 * m) + (-0.113614708 * s); error.b = (-0.000365296938 * l) + (-0.00412161469 * m) + (0.693511405 * s); - error.a = 1.0; - vec4 diff = tex - error; - vec4 correction; + vec3 diff = tex.rgb - error; + vec3 correction; correction.r = 0.0; correction.g = (diff.r * 0.7) + (diff.g * 1.0); correction.b = (diff.r * 0.7) + (diff.b * 1.0); - correction = tex + correction; - gl_FragColor = correction * modulation; + gl_FragColor = (tex + vec4(correction, 0.0)) * modulation; } diff --git a/src/plugins/colorblindnesscorrection/shaders/Tritanopia_core.frag b/src/plugins/colorblindnesscorrection/shaders/Tritanopia_core.frag index f2ec6448a3..adafd2be20 100644 --- a/src/plugins/colorblindnesscorrection/shaders/Tritanopia_core.frag +++ b/src/plugins/colorblindnesscorrection/shaders/Tritanopia_core.frag @@ -27,17 +27,15 @@ void main() float m = 0.0 * L + 1.0 * M + 0.0 * S; float s = -0.395913 * L + 0.801109 * M + 0.0 * S; - vec4 error; + vec3 error; error.r = (0.0809444479 * l) + (-0.130504409 * m) + (0.116721066 * s); error.g = (-0.0102485335 * l) + (0.0540193266 * m) + (-0.113614708 * s); error.b = (-0.000365296938 * l) + (-0.00412161469 * m) + (0.693511405 * s); - error.a = 1.0; - vec4 diff = tex - error; - vec4 correction; + vec3 diff = tex.rgb - error; + vec3 correction; correction.r = 0.0; correction.g = (diff.r * 0.7) + (diff.g * 1.0); correction.b = (diff.r * 0.7) + (diff.b * 1.0); - correction = tex + correction; - fragColor = correction * modulation; + fragColor = (tex + vec4(correction, 0.0)) * modulation; }