#version 450 // 全屏三角形:无顶点缓冲,从 gl_VertexIndex 派生 UV。 // 0 → (-1,3)? 经典三角覆盖整个屏幕: // idx0:(-1,-1) idx1:(3,-1) idx2:(-1,3),UV 相应 [0..2], // 光栅化插值后屏幕内 UV 恰好落在 [0,1]。 layout(location = 0) out vec2 fragUV; void main() { vec2 p = vec2( float((gl_VertexIndex << 1) & 2), float(gl_VertexIndex & 2)); fragUV = p; gl_Position = vec4(p * 2.0 - 1.0, 0.0, 1.0); }