varying vec4 vColor;
varying vec2 vTexCoord;
varying vec2 vTex; //only vectors
varying vec2 pixelPos;
uniform sampler2D sampler;


void main() 
{ 
	float f=(vColor.x+vColor.y+vColor.z)/3;
	vec4 col=texture2D(sampler, vTexCoord).bgra* vColor;
	
	gl_FragColor=vec4(vTex.x,0,0,1);
	
	if(vTex.x==0){
	 	gl_FragColor= vec4(vColor.x,vColor.y, vColor.z,vColor.w) ;	
	}else{
		gl_FragColor=texture2D(sampler, vTexCoord).rgba* vColor;
	}
	
	vec3 pixelColor=gl_FragColor.rgb;
	
	vec3 lightColor=vec3(1.0,1.0,1.0);
	float lightRadius=1.0;
	vec2 lightPos=vec2(0,0);
	
	vec3 lightColor1=vec3(1.0,0.0,0.0);
	float lightRadius1=0.6;
	vec2 lightPos1=vec2(0.8,-0.5);
	
	// Vector from the current pixel to the light
	vec2 toLight = (lightPos - pixelPos);
	vec2 toLight1 = (lightPos1 - pixelPos);

	float brightness=1.0;
	// This reduces the brightness based on the distance form the light and the light's radius
	brightness *= clamp(1.0 - (length(toLight) / lightRadius), 0.0, 1.0);
	// The final color of the pixel.
	vec3 finalColor = pixelColor * lightColor * brightness;
	
	/*
	float brightness1=1.0;
	brightness1 = clamp(1.0 - (length(toLight1) / lightRadius1), 0.0, 1.0);
	finalColor = finalColor+pixelColor * lightColor1 * brightness1;
	*/
	//gl_FragColor=vec4(finalColor,gl_FragColor.w);
	if(vTex.x==0){
	 	gl_FragColor=vec4(finalColor,gl_FragColor.w);
	}else{
		gl_FragColor=vec4(texture2D(sampler, vTexCoord).rgb*vColor*brightness,gl_FragColor.a);
	}
	
}