#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; }