#version 430 core

layout(location = 0) in vec3 vertexPosition;
layout(location = 1) in vec2 vertexTexCoord;
layout(location = 2) in vec3 vertexNormal;
layout(location = 3) in vec3 vertexTangent;
layout(location = 4) in vec3 vertexBitangent;

uniform mat4 modelViewProjectionMatrix;
uniform mat4 modelMatrix;

out vec3 interpNormal;
out vec2 interpTexCoord;
out vec3 fragPos;

void main()
{
	gl_Position = modelViewProjectionMatrix * vec4(vertexPosition, 1.0);
	fragPos = (modelMatrix * vec4(vertexPosition, 1.0)).xyz;

	interpNormal = (modelMatrix * vec4(vertexNormal, 0.0)).xyz;

	interpTexCoord = vertexTexCoord;
}
