2020-02-20 21:53:38 +00:00
|
|
|
#version 400
|
|
|
|
|
|
|
|
in vec2 textureCoords;
|
|
|
|
|
|
|
|
out vec4 out_Colour;
|
|
|
|
|
|
|
|
uniform sampler2D colourTexture;
|
|
|
|
|
|
|
|
const float brightness = 1.2;
|
|
|
|
const float contrast = 0.1;
|
|
|
|
const float saturation = 1.65;
|
|
|
|
|
|
|
|
void main(void){
|
|
|
|
|
|
|
|
out_Colour = texture(colourTexture, textureCoords);
|
|
|
|
|
|
|
|
// calculate saturation
|
|
|
|
vec3 luminanceWeights = vec3(0.299, 0.587, 0.114);
|
|
|
|
float luminance = dot(out_Colour.rgb, luminanceWeights);
|
|
|
|
out_Colour = mix(vec4(luminance), out_Colour, saturation);
|
|
|
|
|
|
|
|
// calculate contrast
|
|
|
|
out_Colour.rgb = (out_Colour.rgb - 0.5) * (1.0 + contrast) + 0.5;
|
|
|
|
|
|
|
|
// calculate brightness
|
|
|
|
out_Colour.rgb *= brightness;
|
2020-03-09 04:12:31 +00:00
|
|
|
|
|
|
|
|
2020-02-20 21:53:38 +00:00
|
|
|
}
|