varying vec2 v_vTexcoord;
varying vec4 v_vColour;

uniform int replace;
uniform vec4 color;

float bright(in vec4 col) {
	return dot(col.rgb, vec3(0.2126, 0.7152, 0.0722))  * col.a;
}

void main() {
    vec4 col = texture2D( gm_BaseTexture, v_vTexcoord );
	if(replace == 0) gl_FragColor = vec4(col.rgb, bright(col));
	else			 gl_FragColor = vec4(color.rgb, bright(col) * color.a);
}