// by Romain Guy
// http://www.curious-creature.org/2007/02/20/fast-image-processing-with-jogl/

precision mediump float;

varying vec2 vTexCoord;

uniform sampler2D u_texture;
uniform float BrightPassThreshold;

void main(void) {
    vec3 luminanceVector = vec3(0.299, 0.587, 0.114);
    vec4 sample = texture2D(u_texture, vTexCoord.st);

    float luminance = dot(luminanceVector, sample.rgb);
    luminance = max(0.0, luminance - BrightPassThreshold);
    sample.rgb *= sign(luminance);
    sample.a = 1.0;

    gl_FragColor = sample;
}