Index: shaders/shader.vert
===================================================================
--- shaders/shader.vert	(revision 80edd70437ab00d07490dffe468e1b971f7bc630)
+++ shaders/shader.vert	(revision 621664a0d2a1afd3b718c92268ecf3442ffe0bca)
@@ -1,3 +1,10 @@
 #version 450
+#extension GL_ARB_separate_shader_objects : enable
+
+layout (binding = 0) uniform UniformBufferObject {
+   mat4 model;
+   mat4 view;
+   mat4 proj;
+} ubo;
 
 layout(location = 0) in vec2 inPosition;
@@ -7,5 +14,5 @@
 
 void main() {
-   gl_Position = vec4(inPosition, 0.0, 1.0);
+   gl_Position = ubo.proj * ubo.view * ubo.model * vec4(inPosition, 0.0, 1.0);
    fragColor = inColor;
 }
