summaryrefslogtreecommitdiff
path: root/assets/shaders
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2023-06-29 22:54:17 +0200
committerMel <einebeere@gmail.com>2023-06-29 22:54:17 +0200
commit6d61b17c4289185d59d37caae8070a40e91fba40 (patch)
treeb423dbb786566ee3f1bafa7684fb673df20c2d71 /assets/shaders
parent52732d71e72b02ff45e25f44e414f87ec9ab7666 (diff)
downloadmeowcraft-6d61b17c4289185d59d37caae8070a40e91fba40.tar.zst
meowcraft-6d61b17c4289185d59d37caae8070a40e91fba40.zip
Add fog
Diffstat (limited to 'assets/shaders')
-rw-r--r--assets/shaders/fragment.glsl4
-rw-r--r--assets/shaders/vertex.glsl9
2 files changed, 10 insertions, 3 deletions
diff --git a/assets/shaders/fragment.glsl b/assets/shaders/fragment.glsl
index eca50d9..71435ef 100644
--- a/assets/shaders/fragment.glsl
+++ b/assets/shaders/fragment.glsl
@@ -2,9 +2,11 @@
uniform sampler2D tex;
uniform vec3 sun_direction;
+uniform vec3 sky_color;
in vec3 surface_normal;
in vec2 frag_tex_coord;
+in float depth;
out vec4 color;
@@ -13,5 +15,5 @@ void main() {
vec3 diffuse = vec3(max(brightness, 0.3));
color = vec4(diffuse, 1.0) * texture(tex, frag_tex_coord);
- // color = texture(tex, frag_tex_coord);
+ color = mix(vec4(sky_color, 1.0), color, 1 - depth);
} \ No newline at end of file
diff --git a/assets/shaders/vertex.glsl b/assets/shaders/vertex.glsl
index c59d6cd..3ca1055 100644
--- a/assets/shaders/vertex.glsl
+++ b/assets/shaders/vertex.glsl
@@ -10,10 +10,15 @@ layout (location = 2) in vec2 tex_coord;
out vec2 frag_tex_coord;
out vec3 surface_normal;
+out float depth;
void main() {
- gl_Position = projection_matrix * view_matrix * model_matrix * vec4(position, 1.0);
- frag_tex_coord = tex_coord;
+ 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;
+ frag_tex_coord = tex_coord;
surface_normal = (model_matrix * vec4(normal, 0.0)).xyz;
+ depth = clamp((length(view_position) - 75) / 125, 0.0, 1.0);
} \ No newline at end of file