attribute vec4 aVertexPosition;
attribute vec4 aVertexNormal;
attribute vec2 aTextureCoord;

uniform mat4 uProjectionMatrix;
uniform mat4 uviewMatrix;
uniform mat4 umodelMatrix;
uniform mat4 unormalModelMatrix;

varying highp vec4 vNormal;
varying highp vec3 vPosition;
varying highp vec2 vTextureCoord;

void main()
{
	gl_Position = uProjectionMatrix *
		uviewMatrix *
		umodelMatrix *
		unormalModelMatrix *
		aVertexPosition;
	vPosition = vec3(aVertexPosition);
	vNormal = unormalModelMatrix * aVertexNormal;
	vTextureCoord = aTextureCoord;
}