vec4 gamma(vec4 input_colour, float compensation) { float r = compensation * log(input_colour.r + 1); float g = compensation * log(input_colour.g + 1); float b = compensation * log(input_colour.b + 1); float average = (r + b + g) / 3.0; vec4 withSobel = vec4(0.0, average, 0.0, 1.0) + vec4(0.0, grey(sobel()).r, 0.0, 1.0); //float gam = 2.2; //return pow(withSobel, vec4(1.0 / gam));//too much contrast methinks return withSobel; }
vec4 nightmode(vec4 input_colour) { float b = input_colour.b; b /= 2.0; float r = input_colour.r + b; r /= 2.0; float g = input_colour.g + b; g /= 2.0; return vec4(r, g, 0.0, 1.0); }
vec4 perGrey(vec4 input_colour, float percentage) { return mix(input_colour, grey(input_colour), percentage / 100); }