#version 450 #extension GL_ARB_separate_shader_objects : enable layout(location = 0) in vec3 vPos; layout(location = 1) in vec2 vUv; layout(location = 0) out vec2 fUv; layout(binding = 0) uniform UniformBufferObject { mat4 mvp; } ubo; void main() { gl_Position = ubo.mvp * vec4(vPos, 1.0); fUv = vUv; }