#version 460 core layout (binding = 0, std140) uniform SharedMatrices { mat4 projection; mat4 cam_matrix; }; layout (binding = 1, std140) uniform Light { uniform vec4 light_color; uniform vec3 light_pos; uniform vec3 camera_pos; }; uniform vec4 u_position; void main() { gl_Position = projection * cam_matrix * u_position; gl_PointSize = 20 / distance(u_position.xyz, camera_pos); }