summary refs log tree commit diff
path: root/assets/shaders/clouds.frag.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'assets/shaders/clouds.frag.glsl')
-rw-r--r--assets/shaders/clouds.frag.glsl16
1 files changed, 16 insertions, 0 deletions
diff --git a/assets/shaders/clouds.frag.glsl b/assets/shaders/clouds.frag.glsl
new file mode 100644
index 0000000..c455afd
--- /dev/null
+++ b/assets/shaders/clouds.frag.glsl
@@ -0,0 +1,16 @@
+#version 330 core
+
+uniform vec3 sky_color;
+uniform vec3 sun_direction;
+
+in vec3 surface_normal;
+in float depth;
+out vec4 color;
+
+void main() {
+    float brightness = dot(normalize(surface_normal), normalize(-sun_direction));
+    vec3 diffuse = vec3(1 - clamp(brightness, -0.3, 0.2));
+    vec3 base = vec3(1.0, 1.0, 1.0) * diffuse;
+
+    color = vec4(mix(sky_color, base, 1 - depth), 0.3);
+}
\ No newline at end of file