sdl3.c3l/test/shaders/source/RawTriangle.vert.glsl

29 lines
716 B
GLSL

#version 450 core
// Explicitly set the output location for Vulkan
layout(location = 0) out vec4 vColor;
void main() {
// Initialize with default values
vec2 pos = vec2(0.0);
vec4 color = vec4(0.0);
// Use Vulkan's gl_VertexIndex instead of gl_VertexID
switch(gl_VertexIndex) {
case 0:
pos = vec2(-1.0, -1.0);
color = vec4(1.0, 0.0, 0.0, 1.0);
break;
case 1:
pos = vec2(1.0, -1.0);
color = vec4(0.0, 1.0, 0.0, 1.0);
break;
case 2:
pos = vec2(0.0, 1.0);
color = vec4(0.0, 0.0, 1.0, 1.0);
break;
}
gl_Position = vec4(pos, 0.0, 1.0);
vColor = color;
}