#version 330 core // Positions are already in normalized device coordinates; u_offset nudges the // whole batch by a few pixels (in NDC) for the drop-shadow pass. layout (location = 0) in vec2 aPos; uniform vec2 u_offset; void main() { gl_Position = vec4(aPos + u_offset, 0.0, 1.0); }