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

varying vec2 texCoord;
varying vec4 fragPosLightSpace;
varying vec3 fragNormal;

uniform mat4 ProjectionModelViewMatrix;
uniform mat4 ModelViewMatrix;
uniform mat4 uLightFromCamera;

void main()
{
	gl_Position = ProjectionModelViewMatrix * vec4(vPosition, 1.0);
	texCoord = vTexCoord;
	fragPosLightSpace = uLightFromCamera * ModelViewMatrix * vec4(vPosition, 1.0);
	fragNormal = mat3(ModelViewMatrix) * vNormal;
}
