#version 330 core

layout(location=0) in vec3 position;
layout(location=1) in vec3 normal;
layout(location=2) in vec2 uv;

uniform mat4 sb_view;

layout (std140) uniform Common {
  mat4 projection;
  mat4 view;
  vec3 camera_position;
};

out vec3 uv_coords;

void main() {
  vec4 pos    = projection * sb_view * vec4(position, 1.0);
  gl_Position = pos.xyww;
  uv_coords   = position;
}