#version 430

layout(std430, binding=1) buffer Positions {
    vec4 verts[];
};

layout(std140, binding=1) uniform Matrices {
    mat4 proj;
    mat4 view;
};

out gl_PerVertex {
    vec4 gl_Position;
    float gl_PointSize;
};

out vec4 vpos;

void main() {
    vec4 pos = verts[gl_VertexID];
    vpos = view * pos;
    gl_Position = proj * vec4(vpos.xyz / (1), 1);
    gl_PointSize = 5;
}
