//Most people like to weight their grey-scale so it looks more natural or more like a B&W film camera, I have not. vec4 grey(vec4 input_colour) { float avg = (input_colour.x + input_colour.y + input_colour.z) / 3.0; return vec4(avg, avg, avg, 1.0); }