Index: shaders/overlay.frag
===================================================================
--- shaders/overlay.frag	(revision c8c6da81cef243ff820763829abe316ce3d2e34a)
+++ shaders/overlay.frag	(revision c8c6da81cef243ff820763829abe316ce3d2e34a)
@@ -0,0 +1,19 @@
+#version 450
+#extension GL_ARB_separate_shader_objects : enable
+
+layout(binding = 1) uniform sampler2D texSampler;
+layout(binding = 2) uniform sampler2D uiTexSampler;
+
+layout(location = 0) in vec3 fragColor;
+layout(location = 1) in vec2 fragTexCoord;
+layout(location = 2) flat in uint isOverlay;
+
+layout(location = 0) out vec4 outColor;
+
+void main() {
+   if (isOverlay == 1) {
+      outColor = texture(uiTexSampler, fragTexCoord);
+   } else {
+      outColor = vec4(fragColor * texture(texSampler, fragTexCoord).rgb, 1.0);
+   }
+}
Index: shaders/overlay.vert
===================================================================
--- shaders/overlay.vert	(revision c8c6da81cef243ff820763829abe316ce3d2e34a)
+++ shaders/overlay.vert	(revision c8c6da81cef243ff820763829abe316ce3d2e34a)
@@ -0,0 +1,30 @@
+#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 vec3 inPosition;
+layout(location = 1) in vec3 inColor;
+layout(location = 2) in vec2 inTexCoord;
+
+layout(location = 0) out vec3 fragColor;
+layout(location = 1) out vec2 fragTexCoord;
+layout(location = 2) out uint isOverlay;
+
+void main() {
+   if (gl_VertexIndex < 8) {
+      gl_Position = ubo.proj * ubo.view * ubo.model * vec4(inPosition, 1.0);
+      fragColor = inColor;
+      isOverlay = 0;
+   } else {
+      gl_Position = vec4(inPosition, 1.0);
+      fragColor = vec3(1.0, 1.0, 1.0);
+      isOverlay = 1;
+   }
+
+   fragTexCoord = inTexCoord;
+}
Index: shaders/scene.frag
===================================================================
--- shaders/scene.frag	(revision c8c6da81cef243ff820763829abe316ce3d2e34a)
+++ shaders/scene.frag	(revision c8c6da81cef243ff820763829abe316ce3d2e34a)
@@ -0,0 +1,19 @@
+#version 450
+#extension GL_ARB_separate_shader_objects : enable
+
+layout(binding = 1) uniform sampler2D texSampler;
+layout(binding = 2) uniform sampler2D uiTexSampler;
+
+layout(location = 0) in vec3 fragColor;
+layout(location = 1) in vec2 fragTexCoord;
+layout(location = 2) flat in uint isOverlay;
+
+layout(location = 0) out vec4 outColor;
+
+void main() {
+   if (isOverlay == 1) {
+      outColor = texture(uiTexSampler, fragTexCoord);
+   } else {
+      outColor = vec4(fragColor * texture(texSampler, fragTexCoord).rgb, 1.0);
+   }
+}
Index: shaders/scene.vert
===================================================================
--- shaders/scene.vert	(revision c8c6da81cef243ff820763829abe316ce3d2e34a)
+++ shaders/scene.vert	(revision c8c6da81cef243ff820763829abe316ce3d2e34a)
@@ -0,0 +1,30 @@
+#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 vec3 inPosition;
+layout(location = 1) in vec3 inColor;
+layout(location = 2) in vec2 inTexCoord;
+
+layout(location = 0) out vec3 fragColor;
+layout(location = 1) out vec2 fragTexCoord;
+layout(location = 2) out uint isOverlay;
+
+void main() {
+   if (gl_VertexIndex < 8) {
+      gl_Position = ubo.proj * ubo.view * ubo.model * vec4(inPosition, 1.0);
+      fragColor = inColor;
+      isOverlay = 0;
+   } else {
+      gl_Position = vec4(inPosition, 1.0);
+      fragColor = vec3(1.0, 1.0, 1.0);
+      isOverlay = 1;
+   }
+
+   fragTexCoord = inTexCoord;
+}
Index: shaders/shader.frag
===================================================================
--- shaders/shader.frag	(revision c8b0357ff69bc64f21dd13f33b82bb4455bde02c)
+++ 	(revision )
@@ -1,19 +1,0 @@
-#version 450
-#extension GL_ARB_separate_shader_objects : enable
-
-layout(binding = 1) uniform sampler2D texSampler;
-layout(binding = 2) uniform sampler2D uiTexSampler;
-
-layout(location = 0) in vec3 fragColor;
-layout(location = 1) in vec2 fragTexCoord;
-layout(location = 2) flat in uint isOverlay;
-
-layout(location = 0) out vec4 outColor;
-
-void main() {
-   if (isOverlay == 1) {
-      outColor = texture(uiTexSampler, fragTexCoord);
-   } else {
-      outColor = vec4(fragColor * texture(texSampler, fragTexCoord).rgb, 1.0);
-   }
-}
Index: shaders/shader.vert
===================================================================
--- shaders/shader.vert	(revision c8b0357ff69bc64f21dd13f33b82bb4455bde02c)
+++ 	(revision )
@@ -1,30 +1,0 @@
-#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 vec3 inPosition;
-layout(location = 1) in vec3 inColor;
-layout(location = 2) in vec2 inTexCoord;
-
-layout(location = 0) out vec3 fragColor;
-layout(location = 1) out vec2 fragTexCoord;
-layout(location = 2) out uint isOverlay;
-
-void main() {
-   if (gl_VertexIndex < 8) {
-      gl_Position = ubo.proj * ubo.view * ubo.model * vec4(inPosition, 1.0);
-      fragColor = inColor;
-      isOverlay = 0;
-   } else {
-      gl_Position = vec4(inPosition, 1.0);
-      fragColor = vec3(1.0, 1.0, 1.0);
-      isOverlay = 1;
-   }
-
-   fragTexCoord = inTexCoord;
-}
