//this file is autogenerated using stringify.bat (premake --stringify) in the build folder of this project
static const char* useShadowMapInstancingFragmentShader= \
"#version 330 core\n"
"//precision highp float;\n"
"in Fragment\n"
"{\n"
"     vec4 color;\n"
"} fragment;\n"
"in Vert\n"
"{\n"
"	vec2 texcoord;\n"
"} vert;\n"
"uniform sampler2D Diffuse;\n"
"uniform sampler2DShadow shadowMap;\n"
"in vec3 lightDir,normal,ambient;\n"
"in vec4 ShadowCoord;\n"
"out vec4 color;\n"
"void main(void)\n"
"{\n"
"    vec4 texel = fragment.color*texture(Diffuse,vert.texcoord);//fragment.color;\n"
"	vec3 ct,cf;\n"
"	float intensity,at,af;\n"
"	\n"
"	intensity = clamp( dot( normalize(normal),lightDir ), 0,1 );\n"
"	\n"
"	cf = ambient;\n"
"	af = 1.0;\n"
"		\n"
"	ct = texel.rgb;\n"
"	at = texel.a;\n"
"		\n"
"	//float bias = 0.005f;\n"
"	\n"
"	float bias = 0.0001*tan(acos(intensity));\n"
"	bias = clamp(bias, 0,0.01);\n"
"	float visibility = texture(shadowMap, vec3(ShadowCoord.xy,(ShadowCoord.z-bias)/ShadowCoord.w));\n"
"	\n"
"	intensity*=2;\n"
"	if (intensity>1)\n"
"		intensity=1.f;\n"
"	\n"
"	visibility *= intensity;\n"
"	\n"
"	if (visibility<0.6)\n"
"		visibility=0.6f;\n"
"		\n"
"	color  = vec4(ct * visibility, fragment.color.w);\n"
"}\n"
;
