From d3bd791297d6aaa7abaf613aafbec99a7bb17823 Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Sat, 2 May 2026 16:16:04 -0400 Subject: Eating soup! --- src/assets/shaders/flat/frag.glsl | 11 ----------- src/assets/shaders/flat/vert.glsl | 4 ---- src/assets/shaders/plane/frag.glsl | 23 +++++++++++++++++++++++ src/assets/shaders/plane/vert.glsl | 11 +++++++++++ 4 files changed, 34 insertions(+), 15 deletions(-) delete mode 100644 src/assets/shaders/flat/frag.glsl delete mode 100644 src/assets/shaders/flat/vert.glsl create mode 100644 src/assets/shaders/plane/frag.glsl create mode 100644 src/assets/shaders/plane/vert.glsl (limited to 'src/assets/shaders') diff --git a/src/assets/shaders/flat/frag.glsl b/src/assets/shaders/flat/frag.glsl deleted file mode 100644 index 7006a2b..0000000 --- a/src/assets/shaders/flat/frag.glsl +++ /dev/null @@ -1,11 +0,0 @@ -uniform sampler2D texture_data; - -void main() -{ - vec2 tcfull = vec2(vertex_texcoord.x, 1.0 - vertex_texcoord.y); - vec4 texel = texture(texture_data, tcfull); - if (texel.a != 1.0) { - discard; - } - frag_color = texel; -} diff --git a/src/assets/shaders/flat/vert.glsl b/src/assets/shaders/flat/vert.glsl deleted file mode 100644 index e324f7e..0000000 --- a/src/assets/shaders/flat/vert.glsl +++ /dev/null @@ -1,4 +0,0 @@ -void main() -{ - default_main(); -} \ No newline at end of file diff --git a/src/assets/shaders/plane/frag.glsl b/src/assets/shaders/plane/frag.glsl new file mode 100644 index 0000000..a323cc8 --- /dev/null +++ b/src/assets/shaders/plane/frag.glsl @@ -0,0 +1,23 @@ +uniform sampler2D texture_data; + +uniform vec2 texture_scale; +uniform vec2 texture_offset; +uniform float fog_distance; +uniform vec3 fog_color; +uniform float opacity; + +in float vertex_depth; + +void main() +{ + vec2 tcfull = vec2(vertex_texcoord.x, 1.0 - vertex_texcoord.y); + vec4 texel = texture(texture_data, tcfull * texture_scale + texture_offset); + if (fog_distance > 0.0) { + float t = clamp(vertex_depth / fog_distance, 0.0, 1.0); + texel.rgb = mix(texel.rgb, fog_color, t); + if (t == 1.0) texel.a = 1.0; + } + texel.a *= opacity; + if (texel.a == 0.0) discard; + frag_color = texel; +} diff --git a/src/assets/shaders/plane/vert.glsl b/src/assets/shaders/plane/vert.glsl new file mode 100644 index 0000000..c8932a5 --- /dev/null +++ b/src/assets/shaders/plane/vert.glsl @@ -0,0 +1,11 @@ +out float vertex_depth; + +void main() +{ + vertex_texcoord = texcoord; + vec3 pos = (position * vec4(vertex, 1.0)).xyz; + vertex_fragpos = pos; + vec4 vpos = view * vec4(pos, 1.0); + vertex_depth = vpos.z; + gl_Position = projection * vpos; +} -- cgit v1.2.3