#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; }