#version 450 // A post pass (docs/render-pipeline.md ยง6): one fullscreen triangle from // gl_VertexIndex, no vertex buffer. The Shadertoy fragment shader works from // gl_FragCoord, y down, as its fragCoord. void main() { vec2 p = vec2(float((gl_VertexIndex << 1) & 2), float(gl_VertexIndex & 2)); gl_Position = vec4(p * 2.0 - 1.0, 0.0, 1.0); }