#version 440 layout( location = 0 ) in vec4 vertexCoord; layout( location = 0 ) out vec2 coord; layout( std140, binding = 0 ) uniform buf { mat4 matrix; vec2 centerCoord; float aspectRatio; float start; float span; float opacity; } ubuf; out gl_PerVertex { vec4 gl_Position; }; void main() { coord = vertexCoord.xy - ubuf.centerCoord; coord.y *= ubuf.aspectRatio; gl_Position = ubuf.matrix * vertexCoord; }