Kelsidavis-WoWee/assets/shaders/postprocess.vert.glsl

13 lines
460 B
Text
Raw Normal View History

#version 450
layout(location = 0) out vec2 TexCoord;
void main() {
// Fullscreen triangle trick: 3 vertices, no vertex buffer
TexCoord = vec2((gl_VertexIndex << 1) & 2, gl_VertexIndex & 2);
gl_Position = vec4(TexCoord * 2.0 - 1.0, 0.0, 1.0);
// No Y-flip: scene textures use Vulkan convention (v=0 at top),
// and NDC y=-1 already maps to framebuffer top, so the triangle
// naturally samples the correct row without any inversion.
}