screen.vert 573 B

123456789101112131415161718192021222324252627
  1. // General purpose vertex shader that maps screen coordinates to NDC.
  2. // Supports position, uv and color of the vertex.
  3. #version 330
  4. layout(location = 0) in vec2 ver_pos;
  5. layout(location = 1) in vec2 ver_uv;
  6. layout(location = 2) in vec4 ver_color;
  7. uniform vec2 resolution;
  8. precision mediump float;
  9. out vec2 uv;
  10. out vec4 color;
  11. vec2 screen_project(vec2 pos)
  12. {
  13. return (pos / resolution) * 2.0 - 1.0;
  14. }
  15. void main(void)
  16. {
  17. float scale = 300.0;
  18. gl_Position = vec4(screen_project(ver_pos + resolution * 0.5), 0.0, 1.0);
  19. uv = ver_uv;
  20. color = ver_color;
  21. }