summaryrefslogtreecommitdiff
path: root/assets
diff options
context:
space:
mode:
Diffstat (limited to 'assets')
-rw-r--r--assets/shaders/object.frag9
-rw-r--r--assets/shaders/object.vert26
2 files changed, 35 insertions, 0 deletions
diff --git a/assets/shaders/object.frag b/assets/shaders/object.frag
new file mode 100644
index 0000000..11b33e1
--- /dev/null
+++ b/assets/shaders/object.frag
@@ -0,0 +1,9 @@
+#version 450
+#extension GL_ARB_separate_shader_objects : enable
+
+layout(location = 0) in vec3 in_normal;
+layout(location = 1) in vec3 in_position;
+
+layout(location = 0) out vec4 out_colour;
+
+void main() { out_colour = vec4(in_normal, 1.0); } \ No newline at end of file
diff --git a/assets/shaders/object.vert b/assets/shaders/object.vert
new file mode 100644
index 0000000..a7237bb
--- /dev/null
+++ b/assets/shaders/object.vert
@@ -0,0 +1,26 @@
+#version 450
+#extension GL_ARB_separate_shader_objects : enable
+
+layout(location = 0) in vec3 in_position;
+layout(location = 1) in vec3 in_normal;
+
+layout(location = 0) out vec3 out_normal;
+layout(location = 1) out vec3 out_position;
+
+layout(set = 0, binding = 0) uniform global_object_uniform {
+ mat4 projection;
+ mat4 view;
+}
+global_ubo;
+
+layout(push_constant) uniform push_constants {
+ mat4 model; // 64 bytes
+}
+u_push_constants;
+
+void main() {
+ out_position = in_position;
+ gl_Position = global_ubo.projection * global_ubo.view * u_push_constants.model *
+ vec4(in_position.x, in_position.y, in_position.z, 1.0);
+ out_normal = in_normal; // forward normal vectors
+} \ No newline at end of file