#version 450 // iter5 vertex shader: read pos (vec2) + color (vec3) from vertex buffer, // apply mat4 transform from UBO, output interpolated color to fragment. layout(location = 0) in vec2 inPos; layout(location = 1) in vec3 inColor; layout(set = 0, binding = 0) uniform UBO { mat4 transform; } ubo; layout(location = 0) out vec3 vColor; void main() { gl_Position = ubo.transform * vec4(inPos, 0.0, 1.0); vColor = inColor; }