#version 450 layout(location = 0) in vec4 fragColor; layout(location = 1) in vec2 fragTexCoord; layout(location = 0) out vec4 outColor; layout(binding = 0) uniform UniformBufferObject { float time; vec2 resolution; float rotation; float wavePhase; } ubo; void main() { // Simple pass-through with vertex color outColor = fragColor; }