summaryrefslogtreecommitdiff
path: root/crates/shader/src/assets
diff options
context:
space:
mode:
authorLLLL Colonq <llll@colonq>2025-08-15 04:45:02 -0400
committerLLLL Colonq <llll@colonq>2025-08-15 04:45:02 -0400
commit891a8a79f200413f2b1ac6e158f26163d6c66f64 (patch)
treed2ef73072d2c5c8a9661c5a606a7049e3bf35b8e /crates/shader/src/assets
parente4ded2c09e6c378040f80e80886aa9c087fe14b4 (diff)
Refactor overlay
Diffstat (limited to 'crates/shader/src/assets')
-rw-r--r--crates/shader/src/assets/shaders/throwshade/frag.glsl37
-rw-r--r--crates/shader/src/assets/shaders/throwshade/vert.glsl22
2 files changed, 59 insertions, 0 deletions
diff --git a/crates/shader/src/assets/shaders/throwshade/frag.glsl b/crates/shader/src/assets/shaders/throwshade/frag.glsl
new file mode 100644
index 0000000..962deac
--- /dev/null
+++ b/crates/shader/src/assets/shaders/throwshade/frag.glsl
@@ -0,0 +1,37 @@
+#version 300 es
+precision highp float;
+
+in vec2 vertex_texcoord;
+out vec4 frag_color;
+
+uniform float opacity;
+
+uniform vec2 resolution;
+
+uniform float time;
+
+uniform float bpm;
+
+uniform vec2 cursor;
+
+uniform float chat_time;
+uniform float chat_biblicality;
+
+uniform float tracking_mouth;
+uniform vec2 tracking_eyes;
+uniform mat4 tracking_neck;
+
+uniform vec2 emacs_cursor;
+uniform vec2 mouse_cursor;
+
+uniform int heartrate;
+
+vec4 shade(vec2);
+
+void main() {
+ vec2 inverted = vec2(vertex_texcoord.x, 1.0 - vertex_texcoord.y);
+ frag_color = shade(inverted);
+ frag_color.a = clamp(frag_color.a * opacity, 0.0, opacity);
+}
+
+// "The Cutoff"
diff --git a/crates/shader/src/assets/shaders/throwshade/vert.glsl b/crates/shader/src/assets/shaders/throwshade/vert.glsl
new file mode 100644
index 0000000..e05bbb6
--- /dev/null
+++ b/crates/shader/src/assets/shaders/throwshade/vert.glsl
@@ -0,0 +1,22 @@
+#version 300 es
+precision highp float;
+
+out vec2 vertex_texcoord;
+
+void main() {
+ const vec2 positions[4] = vec2[](
+ vec2(-1, -1),
+ vec2(+1, -1),
+ vec2(-1, +1),
+ vec2(+1, +1)
+ );
+ const vec2 coords[4] = vec2[](
+ vec2(0, 0),
+ vec2(1, 0),
+ vec2(0, 1),
+ vec2(1, 1)
+ );
+
+ vertex_texcoord = coords[gl_VertexID];
+ gl_Position = vec4(positions[gl_VertexID], 0.0, 1.0);
+}