quad.vert 564 B

1234567891011121314151617181920212223
  1. // Single triangle strip quad generated entirely on the vertex shader.
  2. // Simply do glDrawArrays(GL_TRIANGLE_STRIP, 0, 4) and the shader
  3. // generates 4 points from gl_VertexID. No Vertex Attributes are
  4. // required.
  5. #version 330
  6. precision mediump float;
  7. layout(location = 0) in vec2 seed_pos;
  8. layout(location = 1) in vec4 seed_color;
  9. out vec2 seed;
  10. out vec4 color;
  11. void main(void)
  12. {
  13. vec2 uv;
  14. uv.x = (gl_VertexID & 1);
  15. uv.y = ((gl_VertexID >> 1) & 1);
  16. gl_Position = vec4(uv * 2.0 - 1.0, 0.0, 1.0);
  17. seed = seed_pos;
  18. color = seed_color;
  19. }