summary refs log tree commit diff
path: root/assets/shaders/clouds.vert.glsl
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2024-02-12 12:55:11 +0100
committerMel <einebeere@gmail.com>2024-02-12 12:55:11 +0100
commitd2b5fc5b3bc648afffa42375706429685ac63794 (patch)
treea2dfbb241e1d46e5616c5884e5f3d685de2a2cb6 /assets/shaders/clouds.vert.glsl
parent588c7e87b7cab270698d43ca5c22d67793ae5fc4 (diff)
downloadmeowcraft-d2b5fc5b3bc648afffa42375706429685ac63794.tar.zst
meowcraft-d2b5fc5b3bc648afffa42375706429685ac63794.zip
Split rendering into own thread and sync through render action lists
Diffstat (limited to 'assets/shaders/clouds.vert.glsl')
-rw-r--r--assets/shaders/clouds.vert.glsl21
1 files changed, 21 insertions, 0 deletions
diff --git a/assets/shaders/clouds.vert.glsl b/assets/shaders/clouds.vert.glsl
new file mode 100644
index 0000000..2a91766
--- /dev/null
+++ b/assets/shaders/clouds.vert.glsl
@@ -0,0 +1,21 @@
+#version 330 core
+
+uniform mat4 model_matrix;
+uniform mat4 view_matrix;
+uniform mat4 projection_matrix;
+
+layout (location = 0) in vec3 position;
+layout (location = 1) in vec3 normal;
+
+out vec3 surface_normal;
+out float depth;
+
+void main() {
+    vec4 world_position = model_matrix * vec4(position, 1.0);
+    vec4 view_position = view_matrix * world_position;
+    vec4 clip_position = projection_matrix * view_position;
+
+    gl_Position = clip_position;
+    surface_normal = (model_matrix * vec4(normal, 0.0)).xyz;
+    depth = clamp((length(view_position) - 200) / 400, 0.0, 1.0);
+}
\ No newline at end of file