mirror of https://github.com/sotrh/learn-wgpu
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
795 B
GLSL
23 lines
795 B
GLSL
#version 450
|
|
|
|
layout(location = 0) out vec2 v_TexCoord;
|
|
|
|
void main() {
|
|
// We need to know what vertex we are processing in
|
|
// order to use the right texture coord.
|
|
switch(gl_VertexIndex % 4) {
|
|
case 0: v_TexCoord = vec2(1.0, 0.0); break;
|
|
case 1: v_TexCoord = vec2(1.0, 1.0); break;
|
|
case 2: v_TexCoord = vec2(0.0, 0.0); break;
|
|
case 3: v_TexCoord = vec2(0.0, 1.0); break;
|
|
}
|
|
|
|
// We us `v_TexCoord` to generate gl_Position rather
|
|
// than supply a vertex buffer.
|
|
gl_Position = vec4(v_TexCoord * 2.0 - 1.0, 0.5, 1.0);
|
|
|
|
// Texture coordinates (aka. framebuffer coordinates) are inverted.
|
|
// We need to invert the y coordinate, other wise our texture will
|
|
// flip when going between mip levels.
|
|
gl_Position.y = -gl_Position.y;
|
|
} |