#version 460 core

layout (location = 0) in vec3 _pos;
layout (location = 1) in vec2 _tex;
layout (location = 2) in vec3 _norm;

uniform mat4 projection;
uniform mat4 camera;
uniform mat4 model;

out vec3 pos;
out vec3 norm;
out vec2 tex;

void main() {
  gl_Position = projection * camera * model * vec4(_pos, 1.0);
  pos = vec3(model * vec4(_pos, 1.0));
  norm = _norm;
  tex = _tex;
}