diff options
| author | Mel <einebeere@gmail.com> | 2023-06-29 22:54:17 +0200 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2023-06-29 22:54:17 +0200 |
| commit | 6d61b17c4289185d59d37caae8070a40e91fba40 (patch) | |
| tree | b423dbb786566ee3f1bafa7684fb673df20c2d71 /assets | |
| parent | 52732d71e72b02ff45e25f44e414f87ec9ab7666 (diff) | |
| download | meowcraft-6d61b17c4289185d59d37caae8070a40e91fba40.tar.zst meowcraft-6d61b17c4289185d59d37caae8070a40e91fba40.zip | |
Add fog
Diffstat (limited to 'assets')
| -rw-r--r-- | assets/shaders/fragment.glsl | 4 | ||||
| -rw-r--r-- | assets/shaders/vertex.glsl | 9 |
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 |
