#version 330 core

layout(location = 0) in vec3 apos;
layout(location = 1) in vec3 anormal;

out vec3 pos;
out vec3 normal;

uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;

void
main(void)
{
    pos = vec3(model*vec4(apos, 1.0f));
    normal = mat3(transpose(inverse(model)))*anormal;
    gl_Position = projection*view*model*vec4(apos, 1.0f);
}