#version 320 es precision mediump float; layout(location = 0) in vec3 inPosition; layout(location = 0) out vec2 uv; vec2 uvs[6] = vec2[]( vec2(0.0, 1.0), vec2(1.0, 0.0), vec2(0.0, 0.0), vec2(1.0, 1.0), vec2(1.0, 0.0), vec2(0.0, 1.0) ); vec2 positions[6] = vec2[]( vec2(-1.0, -1.0), // top left vec2(1.0, 1.0), // bottom right vec2(-1.0, 1.0), // bottom left vec2(1.0, -1.0), // top right vec2(1.0, 1.0), // bottom right vec2(-1.0, -1.0) // top left ); void main() { gl_Position = vec4(positions[gl_VertexID], 0.0, 1.0); uv = uvs[gl_VertexID]; }