#version 330 core

in vec3 position;
in vec2 texCoord;
in vec3 normal;
in vec4 colour;

out vec3 FragPos;
out vec2 TexCoords;
out vec3 Normal;
out vec4 Colour;

uniform mat4 viewProjection;
uniform mat4 model;

void
main()
{
	vec4 worldPos = model * vec4(position, 1.0);

	FragPos = worldPos.xyz;
	TexCoords = texCoord;
	Normal = (model * vec4(normal, 0.0)).xyz;
	Colour = colour;

	gl_Position = viewProjection * worldPos;
}