#version 450 layout(location = 0) in vec3 inPosition; layout(location = 1) in vec3 inNormal; layout(location = 2) in vec2 inUV; layout(binding = 0) uniform UniformBufferObject { mat4 model; mat4 view; mat4 projection; } ubo; layout(location = 0) out vec3 fragColor; vec2 positions[3] = vec2[]( vec2(0.0, -0.5), vec2(0.5, 0.5), vec2(-0.5, 0.5) ); vec3 colors[3] = vec3[] ( vec3(1.0, 0.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, 1.0) ); void main() { gl_Position = ubo.projection * ubo.view * ubo.model * vec4(inPosition, 1.0); fragColor = clamp(inNormal, vec3(0.0), vec3(1.0)); }