diff options
| author | untodesu <kirill@untode.su> | 2025-12-11 15:14:26 +0500 |
|---|---|---|
| committer | untodesu <kirill@untode.su> | 2025-12-11 15:14:26 +0500 |
| commit | f40d09cb8f712e87691af4912f3630d92d692779 (patch) | |
| tree | 7ac3a4168ff722689372fd489c6f94d0a2546e8f /data/shaders | |
| parent | 8bcbd2729388edc63c82d77d314b583af1447c49 (diff) | |
| download | voxelius-f40d09cb8f712e87691af4912f3630d92d692779.tar.bz2 voxelius-f40d09cb8f712e87691af4912f3630d92d692779.zip | |
Shuffle stuff around
- Use the new and improved hierarchy I figured out when making Prospero chat
- Re-add NSIS scripts, again from Prospero
- Update most build and utility scripts with their most recent versions
Diffstat (limited to 'data/shaders')
| -rw-r--r-- | data/shaders/chunk_quad.frag | 25 | ||||
| -rw-r--r-- | data/shaders/chunk_quad.vert | 85 | ||||
| -rw-r--r-- | data/shaders/outline.frag | 11 | ||||
| -rw-r--r-- | data/shaders/outline.vert | 21 |
4 files changed, 0 insertions, 142 deletions
diff --git a/data/shaders/chunk_quad.frag b/data/shaders/chunk_quad.frag deleted file mode 100644 index 5a08099..0000000 --- a/data/shaders/chunk_quad.frag +++ /dev/null @@ -1,25 +0,0 @@ -// SPDX-License-Identifier: CC-BY-SA-4.0 -#version 330 core -#pragma variant[0] WORLD_CURVATURE -#pragma variant[1] WORLD_FOG - -in vec3 vs_TexCoord; -in float vs_Shade; - -#if WORLD_FOG -in float vs_FogFactor; -#endif - -out vec4 frag_Target; - -uniform vec4 u_FogColor; -uniform sampler2DArray u_Textures; - -void main(void) -{ - frag_Target = vs_Shade * texture(u_Textures, vs_TexCoord); - -#if WORLD_FOG - frag_Target = mix(frag_Target, u_FogColor, vs_FogFactor); -#endif -} diff --git a/data/shaders/chunk_quad.vert b/data/shaders/chunk_quad.vert deleted file mode 100644 index 50b343a..0000000 --- a/data/shaders/chunk_quad.vert +++ /dev/null @@ -1,85 +0,0 @@ -// SPDX-License-Identifier: CC-BY-SA-4.0 -#version 330 core -#pragma variant[0] WORLD_CURVATURE -#pragma variant[1] WORLD_FOG - -layout(location = 0) in vec3 vert_Position; -layout(location = 1) in uvec2 vert_Quad; - -out vec3 vs_TexCoord; -out float vs_Shade; - -#if WORLD_FOG -out float vs_FogFactor; -#endif - -uniform mat4x4 u_ViewProjMatrix; -uniform vec3 u_WorldPosition; -uniform uvec3 u_Timings; -uniform float u_ViewDistance; - -void main(void) -{ - vec3 quad_offset; - quad_offset.x = float(0x00FFU & (vert_Quad.x >> 24U)) / 16.0; - quad_offset.y = float(0x00FFU & (vert_Quad.x >> 16U)) / 16.0; - quad_offset.z = float(0x00FFU & (vert_Quad.x >> 8U)) / 16.0; - - vec2 quad_scale; - quad_scale.x = float((0x000FU & (vert_Quad.x >> 4U)) + 1U) / 16.0; - quad_scale.y = float((0x000FU & (vert_Quad.x >> 0U)) + 1U) / 16.0; - - uint quad_facing = (0x000FU & (vert_Quad.y >> 28U)); - uint quad_toffset = (0x07FFU & (vert_Quad.y >> 17)); - uint quad_tframes = max(1U, (0x001FU & (vert_Quad.y >> 12))); - - gl_Position.xyz = vert_Position; - gl_Position.x *= quad_scale.x; - gl_Position.z *= quad_scale.y; - - vec3 positions[6]; // FIXME: 16 - positions[0x00U] = vec3(gl_Position.x, 1.0 - gl_Position.z, 1.0); - positions[0x01U] = vec3(gl_Position.x, gl_Position.z, 0.0); - positions[0x03U] = vec3(1.0, 1.0 - gl_Position.x, gl_Position.z); - positions[0x02U] = vec3(0.0, gl_Position.x, gl_Position.z); - positions[0x04U] = vec3(gl_Position.x, 1.0, gl_Position.z); - positions[0x05U] = vec3(gl_Position.x, 0.0, 1.0 - gl_Position.z); - - vec2 texcoords[6]; // FIXME: 16 - texcoords[0x00U] = vec2(vert_Position.x, 1.0 - vert_Position.z); - texcoords[0x01U] = vec2(1.0 - vert_Position.x, vert_Position.z); - texcoords[0x03U] = vec2(-vert_Position.z, 1.0 - vert_Position.x); - texcoords[0x02U] = vec2(1.0 + vert_Position.z, vert_Position.x); - texcoords[0x04U] = vec2(1.0 - vert_Position.x, vert_Position.z); - texcoords[0x05U] = vec2(1.0 - vert_Position.x, vert_Position.z); - - float shades[6]; // FIXME: 16 - shades[0x00U] = 0.8; - shades[0x01U] = 0.8; - shades[0x02U] = 0.6; - shades[0x03U] = 0.6; - shades[0x04U] = 1.0; - shades[0x05U] = 0.4; - - vs_TexCoord.xy = texcoords[quad_facing]; - vs_TexCoord.z = floor(float(quad_toffset + u_Timings.z % quad_tframes) + 0.5); - vs_Shade = shades[quad_facing]; - - gl_Position.w = 1.0; - gl_Position.xyz = positions[quad_facing] + quad_offset + u_WorldPosition; - gl_Position = u_ViewProjMatrix * gl_Position; - -#if WORLD_CURVATURE - gl_Position.y -= gl_Position.z * gl_Position.z / u_ViewDistance / 32.0; - gl_Position.y -= gl_Position.x * gl_Position.x / u_ViewDistance / 32.0; -#endif - -#if WORLD_FOG == 1 - // Use a simple linear fog factor - vs_FogFactor = 1.0 - clamp((u_ViewDistance - length(gl_Position.xyz)) / (u_ViewDistance - 16.0), 0.0, 1.0); -#elif WORLD_FOG == 2 - // Use a fancy exponential fog factor - float fogd = 2.0 / u_ViewDistance * length(gl_Position.xyz); - vs_FogFactor = 1.0 - clamp(exp2(fogd * fogd * -1.442695), 0.0, 1.0); -#endif -} diff --git a/data/shaders/outline.frag b/data/shaders/outline.frag deleted file mode 100644 index d8cae02..0000000 --- a/data/shaders/outline.frag +++ /dev/null @@ -1,11 +0,0 @@ -// SPDX-License-Identifier: CC-BY-SA-4.0 -#version 330 core - -out vec4 frag_Target; - -uniform vec4 u_Modulate; - -void main(void) -{ - frag_Target = u_Modulate; -} diff --git a/data/shaders/outline.vert b/data/shaders/outline.vert deleted file mode 100644 index 07626af..0000000 --- a/data/shaders/outline.vert +++ /dev/null @@ -1,21 +0,0 @@ -// SPDX-License-Identifier: CC-BY-SA-4.0 -#version 330 core -#pragma variant[0] WORLD_CURVATURE - -layout(location = 0) in vec3 vert_Position; - -uniform mat4x4 u_ViewProjMatrix; -uniform vec3 u_WorldPosition; -uniform float u_ViewDistance; -uniform vec3 u_Scale; - -void main(void) -{ - gl_Position = u_ViewProjMatrix * vec4((u_WorldPosition + u_Scale * vert_Position), 1.0); - gl_Position.z -= 0.00025; - -#if WORLD_CURVATURE - gl_Position.y -= gl_Position.z * gl_Position.z / u_ViewDistance / 32.0; - gl_Position.y -= gl_Position.x * gl_Position.x / u_ViewDistance / 32.0; -#endif -} |
