#version 450 layout(location = 0) in vec3 in_position; layout(location = 1) in vec3 in_normal; layout(location = 2) in vec4 in_color; layout(location = 0) out vec4 frag_color; layout(set = 0, binding = 0) uniform mvp { mat4 model; mat4 view; mat4 proj; } ubo; layout(push_constant) uniform mesh_data { mat4 transform; } mesh; void main() { gl_Position = ubo.proj * ubo.view * ubo.model * mesh.transform * ubo.model * vec4(in_position, 1.0); frag_color = gl_Position; }