#ifdef GL_ES
precision mediump float;
#endif;
attribute vec4 position;
attribute vec4 texcoord;
attribute vec2 normal;
uniform mat4 ModelMatrix;
uniform mat4 ViewMatrix;
uniform mat4 ProjectionMatrix;
uniform mat4 IT_ModelMatrix;
uniform vec4 U_AmbientMaterial;
uniform vec4 U_AmbientLight;
uniform vec4 U_LightPos;
uniform vec4 U_DiffuseMaterial;
uniform vec4 U_DiffuseLight;
varying vec4 V_Color;
void main(){
	//ambient
	vec4 ambientColor = U_AmbientMaterial*U_AmbientLight;

	//diffuse
	vec3 L = normalize(U_LightPos.xyz - vec3(0));
	vec3 n = normalize(IT_ModelMatrix * normal.xyz);
	float diffuseIntensity = max(0.0, dot(L,n));
	vec4 diffuseColor = U_DiffuseMaterial * U_DiffuseLight * diffuseIntensity;

	V_Color = ambientColor + diffuseColor;

	gl_Position = ProjectionMatrix * ViewMatrix * ModelMatrix * position;
}