#version 400 core

//Structure for matrices
uniform struct Matrices
{
	mat4 projMatrix;
	mat4 modelViewMatrix; 
	mat4 modelMatrix; 
	mat4 normalMatrix;
} matrices;

// Layout of vertex attributes in VBO
layout (location = 0) in vec3 inPosition;
layout (location = 1) in vec2 intex;
layout (location = 2) in vec3 inNormal;

out vec3 pixelPosition;	
out vec3 pixelNormal;
out vec2 uv;

void main(){
	pixelPosition = inPosition;
	pixelNormal = vec3(matrices.normalMatrix * vec4(inNormal, 1));
	uv = intex;
	gl_Position = matrices.projMatrix * matrices.modelViewMatrix * vec4(inPosition,1.0);
}