float toLuma( vec3 pRGB )
{
return( ( pRGB.r * 0.2126 ) + ( pRGB.g * 0.7152 ) + ( pRGB.b * 0.0722 ) );
}varying vec2 vTexST;
void main()
{
gl_Position = ftransform();
vTexST= gl_MultiTexCoord0.st;
}uniform sampler2D uTex;
uniform float uLumaKeyMin;
uniform float uLumaKeyMax;
varying vec2 vTexST;
void main()
{
float Luma = toLuma( texture2D( tex0, tex0ST ).rgb );
if( Luma < uLumaKeyMin || Luma > uLumaKeyMax )
{
discard;
}
gl_FragColor = texture2D( tex0, tex0ST );
}