1 #version 330 core 2 3 uniform vec2 resolution; 4 uniform float time; 5 uniform float camera_scale; 6 uniform vec2 camera_pos; 7 8 layout(location = 0) in vec2 position; 9 layout(location = 1) in vec4 color; 10 layout(location = 2) in vec2 uv; 11 12 out vec4 out_color; 13 out vec2 out_uv; 14 15 vec2 camera_project(vec2 point) 16 { 17 return 2.0 * (point - camera_pos) * camera_scale / resolution; 18 } 19 20 void main() { 21 gl_Position = vec4(camera_project(position), 0, 1); 22 out_color = color; 23 out_uv = uv; 24 }
