attribute vec3 inVertexPosition; attribute vec3 inVertexNormal; attribute vec4 inVertexColor; attribute vec2 inTexCoord0; uniform mat4 mWorldViewProj; uniform mat4 mInvWorld; uniform mat4 mTransWorld; uniform vec3 mLightPos; uniform vec4 mLightColor; varying mediump vec4 v_color; varying mediump vec2 v_texCoord; void main(void) { gl_Position = mWorldViewProj * vec4(inVertexPosition,1.0); vec4 normal = vec4(inVertexNormal, 0.0); normal = mInvWorld * normal; normal = normalize(normal); vec4 worldpos = vec4(inVertexPosition,1.0) * mTransWorld; vec4 lightVector = worldpos - vec4(mLightPos,1.0); lightVector = normalize(lightVector); float tmp2 = dot(-lightVector, normal); vec4 tmp = mLightColor * tmp2; v_color = vec4(tmp.x, tmp.y, tmp.z, 0.0); v_texCoord = inTexCoord0; }