layout(location = 0) in vec3 inPosition; layout(location = 0) out vec2 outUV; layout(std140, binding = 0) uniform UniformSceneData { mat4 projection, view, model; vec4 cameraPosition, lightPosition; vec3 color; float radius; vec2 viewport; } sceneData; out gl_PerVertex { vec4 gl_Position; }; void main() { gl_Position = sceneData.projection * sceneData.view * sceneData.model * vec4(inPosition, 1.0); outUV = (sceneData.view * sceneData.model * vec4(inPosition, 1.0)).xy; }