#version 450 layout(binding = 0) uniform UniformBufferObject { vec2 windowSize; } ubo; layout(location = 0) in vec2 inPosition; layout(location = 1) in vec3 inColor; layout(location = 0) out vec3 fragColor; layout(location = 1) out vec2 outPosition; void main() { gl_Position = vec4(((inPosition / ubo.windowSize) - 0.5) * 2.0, 0.0, 1.0); fragColor = inColor; outPosition = inPosition; }