aboutsummaryrefslogtreecommitdiffstats
path: root/assets
diff options
context:
space:
mode:
authornathan <nathansmith@disroot.org>2025-10-25 22:03:43 +0000
committernathan <nathansmith@disroot.org>2025-10-25 22:03:43 +0000
commit233d6994bea031c0d22a77f5a8b7427a2b566e12 (patch)
tree2c4338cd76816656a5eaf550759c05d3eb53e4ac /assets
parentda39d95d89cf626b8b773380bb0d109c5bc41f18 (diff)
downloadFindThings-233d6994bea031c0d22a77f5a8b7427a2b566e12.tar.gz
FindThings-233d6994bea031c0d22a77f5a8b7427a2b566e12.tar.bz2
FindThings-233d6994bea031c0d22a77f5a8b7427a2b566e12.zip
Added more fuck more ultrawide players
Diffstat (limited to 'assets')
-rw-r--r--assets/shaders/glsl100/fuck.fs101
-rw-r--r--assets/shaders/glsl100/postprocessing.fs1
-rw-r--r--assets/shaders/glsl330/fuck.fs101
3 files changed, 202 insertions, 1 deletions
diff --git a/assets/shaders/glsl100/fuck.fs b/assets/shaders/glsl100/fuck.fs
new file mode 100644
index 0000000..076caff
--- /dev/null
+++ b/assets/shaders/glsl100/fuck.fs
@@ -0,0 +1,101 @@
+#version 100
+
+// This is a fuck shader. It is very fuck.
+
+precision mediump float;
+
+varying vec2 fragTexCoord;
+
+uniform sampler2D texture0;
+uniform vec4 colDiffuse;
+
+const float PI = 3.1415926535;
+const float aperture = 290.0;
+const float renderWidth = 16.0;
+const float renderHeight = 12.0;
+const float gamma = 0.6;
+const float numColors = 3.0;
+
+vec3 offset = vec3(0.0, 1.3846153846, 3.2307692308);
+vec3 weight = vec3(0.2270270270, 0.3162162162, 0.0702702703);
+
+void main()
+{
+ float apertureHalf = 0.5*aperture*(PI/180.0);
+ float maxFactor = sin(apertureHalf);
+
+ vec2 uv = vec2(0);
+ vec2 xy = 2.0*fragTexCoord.xy - 1.0;
+ float d = length(xy);
+
+ if (d < (2.0 - maxFactor))
+ {
+ d = length(xy*maxFactor);
+ float z = sqrt(1.0 - d*d);
+ float r = atan(d, z)/PI;
+ float phi = atan(xy.y, xy.x);
+
+ uv.x = r*cos(phi) + 0.5;
+ uv.y = r*sin(phi) + 0.5;
+ }
+ else
+ {
+ uv = fragTexCoord.xy;
+ }
+
+ vec4 color = texture2D(texture0, uv);
+
+ color += texture2D(texture0, fragTexCoord + 0.001);
+ color += texture2D(texture0, fragTexCoord + 0.003);
+ color += texture2D(texture0, fragTexCoord + 0.005);
+ color += texture2D(texture0, fragTexCoord + 0.007);
+ color += texture2D(texture0, fragTexCoord + 0.009);
+ color += texture2D(texture0, fragTexCoord + 0.011);
+
+ color += texture2D(texture0, fragTexCoord - 0.001);
+ color += texture2D(texture0, fragTexCoord - 0.003);
+ color += texture2D(texture0, fragTexCoord - 0.005);
+ color += texture2D(texture0, fragTexCoord - 0.007);
+ color += texture2D(texture0, fragTexCoord - 0.009);
+ color += texture2D(texture0, fragTexCoord - 0.011);
+
+ color.rgb = vec3((color.r + color.g + color.b)/3.0);
+ color = color/9.5;
+
+ float x = 1.0/renderWidth;
+ float y = 1.0/renderHeight;
+
+ vec4 horizEdge = vec4(0.0);
+ horizEdge -= texture2D(texture0, vec2(fragTexCoord.x - x, fragTexCoord.y - y))*1.0;
+ horizEdge -= texture2D(texture0, vec2(fragTexCoord.x - x, fragTexCoord.y ))*2.0;
+ horizEdge -= texture2D(texture0, vec2(fragTexCoord.x - x, fragTexCoord.y + y))*1.0;
+ horizEdge += texture2D(texture0, vec2(fragTexCoord.x + x, fragTexCoord.y - y))*1.0;
+ horizEdge += texture2D(texture0, vec2(fragTexCoord.x + x, fragTexCoord.y ))*2.0;
+ horizEdge += texture2D(texture0, vec2(fragTexCoord.x + x, fragTexCoord.y + y))*1.0;
+
+ vec4 vertEdge = vec4(0.0);
+ vertEdge -= texture2D(texture0, vec2(fragTexCoord.x - x, fragTexCoord.y - y))*1.0;
+ vertEdge -= texture2D(texture0, vec2(fragTexCoord.x , fragTexCoord.y - y))*2.0;
+ vertEdge -= texture2D(texture0, vec2(fragTexCoord.x + x, fragTexCoord.y - y))*1.0;
+ vertEdge += texture2D(texture0, vec2(fragTexCoord.x - x, fragTexCoord.y + y))*1.0;
+ vertEdge += texture2D(texture0, vec2(fragTexCoord.x , fragTexCoord.y + y))*2.0;
+ vertEdge += texture2D(texture0, vec2(fragTexCoord.x + x, fragTexCoord.y + y))*1.0;
+
+ vec3 edge = sqrt((horizEdge.rgb*horizEdge.rgb) + (vertEdge.rgb*vertEdge.rgb));
+
+ vec3 texelColor = ((color + texture2D(texture0, uv)) * weight.x).rgb + edge;
+
+ texelColor += texture2D(texture0, fragTexCoord + vec2(offset.y)/renderWidth, 0.0).rgb*weight.y;
+ texelColor += texture2D(texture0, fragTexCoord - vec2(offset.y)/renderWidth, 0.0).rgb*weight.y;
+
+ texelColor += texture2D(texture0, fragTexCoord + vec2(offset.z)/renderWidth, 0.0).rgb*weight.z;
+ texelColor += texture2D(texture0, fragTexCoord - vec2(offset.z)/renderWidth, 0.0).rgb*weight.z;
+
+ texelColor = pow(texelColor, vec3(gamma, gamma, gamma));
+ texelColor = texelColor*numColors;
+ texelColor = floor(texelColor);
+ texelColor = texelColor/numColors;
+ texelColor = pow(texelColor, vec3(1.0/gamma));
+
+ gl_FragColor = vec4(texelColor, 1.0);
+}
diff --git a/assets/shaders/glsl100/postprocessing.fs b/assets/shaders/glsl100/postprocessing.fs
index 69b906b..0009fa3 100644
--- a/assets/shaders/glsl100/postprocessing.fs
+++ b/assets/shaders/glsl100/postprocessing.fs
@@ -3,7 +3,6 @@
precision mediump float;
varying vec2 fragTexCoord;
-varying vec4 fragColor;
uniform sampler2D texture0;
uniform vec4 colDiffuse;
diff --git a/assets/shaders/glsl330/fuck.fs b/assets/shaders/glsl330/fuck.fs
new file mode 100644
index 0000000..5a4f63c
--- /dev/null
+++ b/assets/shaders/glsl330/fuck.fs
@@ -0,0 +1,101 @@
+#version 330
+
+// This is a fuck shader. It is very fuck.
+
+in vec2 fragTexCoord;
+
+out vec4 fragColor;
+
+uniform sampler2D texture0;
+uniform vec4 colDiffuse;
+
+const float PI = 3.1415926535;
+const float aperture = 290.0;
+const float renderWidth = 16;
+const float renderHeight = 12;
+const float gamma = 0.6;
+const float numColors = 3.0;
+
+float offset[3] = float[](0.0, 1.3846153846, 3.2307692308);
+float weight[3] = float[](0.2270270270, 0.3162162162, 0.0702702703);
+
+void main()
+{
+ float apertureHalf = 0.5*aperture*(PI/180.0);
+ float maxFactor = sin(apertureHalf);
+
+ vec2 uv = vec2(0);
+ vec2 xy = 2.0*fragTexCoord.xy - 1.0;
+ float d = length(xy);
+
+ if (d < (2.0 - maxFactor))
+ {
+ d = length(xy*maxFactor);
+ float z = sqrt(1.0 - d*d);
+ float r = atan(d, z)/PI;
+ float phi = atan(xy.y, xy.x);
+
+ uv.x = r*cos(phi) + 0.5;
+ uv.y = r*sin(phi) + 0.5;
+ }
+ else
+ {
+ uv = fragTexCoord.xy;
+ }
+
+ vec4 color = texture(texture0, uv);
+
+ color += texture(texture0, fragTexCoord + 0.001);
+ color += texture(texture0, fragTexCoord + 0.003);
+ color += texture(texture0, fragTexCoord + 0.005);
+ color += texture(texture0, fragTexCoord + 0.007);
+ color += texture(texture0, fragTexCoord + 0.009);
+ color += texture(texture0, fragTexCoord + 0.011);
+
+ color += texture(texture0, fragTexCoord - 0.001);
+ color += texture(texture0, fragTexCoord - 0.003);
+ color += texture(texture0, fragTexCoord - 0.005);
+ color += texture(texture0, fragTexCoord - 0.007);
+ color += texture(texture0, fragTexCoord - 0.009);
+ color += texture(texture0, fragTexCoord - 0.011);
+
+ color.rgb = vec3((color.r + color.g + color.b)/3.0);
+ color = color/9.5;
+
+ float x = 1.0/renderWidth;
+ float y = 1.0/renderHeight;
+
+ vec4 horizEdge = vec4(0.0);
+ horizEdge -= texture(texture0, vec2(fragTexCoord.x - x, fragTexCoord.y - y))*1.0;
+ horizEdge -= texture(texture0, vec2(fragTexCoord.x - x, fragTexCoord.y ))*2.0;
+ horizEdge -= texture(texture0, vec2(fragTexCoord.x - x, fragTexCoord.y + y))*1.0;
+ horizEdge += texture(texture0, vec2(fragTexCoord.x + x, fragTexCoord.y - y))*1.0;
+ horizEdge += texture(texture0, vec2(fragTexCoord.x + x, fragTexCoord.y ))*2.0;
+ horizEdge += texture(texture0, vec2(fragTexCoord.x + x, fragTexCoord.y + y))*1.0;
+
+ vec4 vertEdge = vec4(0.0);
+ vertEdge -= texture(texture0, vec2(fragTexCoord.x - x, fragTexCoord.y - y))*1.0;
+ vertEdge -= texture(texture0, vec2(fragTexCoord.x , fragTexCoord.y - y))*2.0;
+ vertEdge -= texture(texture0, vec2(fragTexCoord.x + x, fragTexCoord.y - y))*1.0;
+ vertEdge += texture(texture0, vec2(fragTexCoord.x - x, fragTexCoord.y + y))*1.0;
+ vertEdge += texture(texture0, vec2(fragTexCoord.x , fragTexCoord.y + y))*2.0;
+ vertEdge += texture(texture0, vec2(fragTexCoord.x + x, fragTexCoord.y + y))*1.0;
+
+ vec3 edge = sqrt((horizEdge.rgb*horizEdge.rgb) + (vertEdge.rgb*vertEdge.rgb));
+
+ vec3 texelColor = ((color + texture(texture0, uv)) * weight[0]).rgb + edge;
+
+ for (int i = 1; i < 3; i++)
+ {
+ texelColor += texture(texture0, fragTexCoord + vec2(offset[i])/renderWidth, 0.0).rgb*weight[i];
+ texelColor += texture(texture0, fragTexCoord - vec2(offset[i])/renderWidth, 0.0).rgb*weight[i];
+ }
+
+ texelColor = pow(texelColor, vec3(gamma, gamma, gamma));
+ texelColor = texelColor*numColors;
+ texelColor = floor(texelColor);
+ texelColor = texelColor/numColors;
+ texelColor = pow(texelColor, vec3(1.0/gamma));
+
+ fragColor = vec4(texelColor, 1.0);
+}