#version 450 core

layout(binding = 0) uniform UniformBufferObject {
    mat4 view;
    mat4 proj;
} UBO;

layout (location = 0) in vec3 Position_modelspace;

layout (location = 0) out vec3 UV;

void main(){
    UV = Position_modelspace;
    mat4 view = UBO.view;
    view[3] = vec4(0.0f, 0.0f, 0.0f, 1.0f);
    gl_Position = (UBO.proj * view * vec4(Position_modelspace, 1.0)).xyww;
}