attribute vec3 pos; attribute vec2 texcoord; attribute vec3 normal; uniform mat4 M; uniform mat4 P; uniform mat4 V; uniform mat4 NM; varying vec4 V_WorldPos; varying vec3 V_Normal; void main() { V_WorldPos = M * vec4(pos,1.0); V_Normal = mat3(NM)*normal; gl_Position = P * V * V_WorldPos; }