#version 330 core layout (location = 0) in vec2 aPos; layout (location = 1) in vec2 aTexCoords; out vec2 TexCoords; uniform vec2 screenSize; uniform vec2 pixelPos; uniform vec2 pixelScale; uniform float z; uniform float rotation; void main() { vec2 unitPos = aPos * 0.5 + 0.5; vec2 pixelPosTopLeft = pixelPos + unitPos * pixelScale; vec2 ndc = (pixelPosTopLeft / screenSize) * 2.0 - 1.0; ndc.y = -ndc.y; gl_Position = vec4(ndc, 0.0f, 1.0f); TexCoords = aTexCoords; }