attribute vec3 vPosition;
attribute vec2 vTexCoord;
attribute vec3 vNormal;

uniform mat4 ProjectionMatrix;
uniform mat3 ModelRotateMatrix;
uniform vec3 ModelTranslateVector;

varying vec2 texCoord;
varying vec3 vertexPos;
varying vec3 absoluteVertexPos;
varying vec3 normal;

void main()
{
	vec4 realVertexPos = vec4(ModelRotateMatrix * vPosition.xyz + ModelTranslateVector, 1.0);
	gl_Position = ProjectionMatrix * realVertexPos;
	vertexPos = gl_Position.xyz;
	
	absoluteVertexPos = vPosition;
	
	texCoord = vTexCoord.st;
	
	normal = vNormal;
	
}