Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions glsl/blob.fs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#version 100

precision mediump float;

uniform vec2 resolution;
uniform float time;

uniform sampler2D emote;

varying vec2 uv;

void main() {
gl_FragColor = texture2D(emote, vec2(uv.x, 1.0 - uv.y));
gl_FragColor.w = floor(gl_FragColor.w + 0.5);
}
21 changes: 21 additions & 0 deletions glsl/blob.vs
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#version 100

precision mediump float;

attribute vec2 meshPosition;

uniform vec2 resolution;
uniform float time;

varying vec2 uv;

void main() {
float stretch = sin(6.0 * time) * 0.5 + 1.0;

vec2 offset = vec2(0.0, 1.0 - stretch);
gl_Position = vec4(
meshPosition * vec2(stretch, 2.0 - stretch) + offset,
0.0,
1.0);
uv = (meshPosition + vec2(1.0, 1.0)) / 2.0;
}
15 changes: 15 additions & 0 deletions glsl/bounce.fs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#version 100

precision mediump float;

uniform vec2 resolution;
uniform float time;

uniform sampler2D emote;

varying vec2 uv;

void main() {
gl_FragColor = texture2D(emote, vec2(uv.x, 1.0 - uv.y));
gl_FragColor.w = floor(gl_FragColor.w + 0.5);
}
17 changes: 17 additions & 0 deletions glsl/bounce.vs
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#version 100
precision mediump float;

attribute vec2 meshPosition;

uniform vec2 resolution;
uniform float time;

varying vec2 uv;

void main() {
float scale = 0.30;
float period_interval = 5.0;
vec2 offset = vec2(0.0, (2.0 * abs(sin(time * period_interval)) - 1.0) * (1.0 - scale));
gl_Position = vec4(meshPosition * scale + offset, 0.0, 1.0);
uv = (meshPosition + 1.0) / 2.0;
}
16 changes: 16 additions & 0 deletions glsl/circle.fs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#version 100

precision mediump float;

uniform vec2 resolution;
uniform float time;

uniform sampler2D emote;

varying vec2 uv;

void main() {
float speed = 1.0;
gl_FragColor = texture2D(emote, vec2(uv.x, 1.0 - uv.y));
gl_FragColor.w = floor(gl_FragColor.w + 0.5);
}
29 changes: 29 additions & 0 deletions glsl/circle.vs
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#version 100
precision mediump float;

attribute vec2 meshPosition;

uniform vec2 resolution;
uniform float time;

varying vec2 uv;

vec2 rotate(vec2 v, float a) {
float s = sin(a);
float c = cos(a);
mat2 m = mat2(c, -s, s, c);
return m * v;
}

void main() {
float scale = 0.30;
float period_interval = 8.0;
float pi = 3.141592653589793238;
vec2 outer_circle = vec2(cos(period_interval * time), sin(period_interval * time)) * (1.0 - scale);
vec2 inner_circle = rotate(meshPosition * scale, (-period_interval * time) + pi / 2.0);
gl_Position = vec4(
inner_circle + outer_circle,
0.0,
1.0);
uv = (meshPosition + 1.0) / 2.0;
}
22 changes: 22 additions & 0 deletions glsl/elevator.fs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#version 100

precision mediump float;

uniform vec2 resolution;
uniform float time;

uniform sampler2D emote;

varying vec2 uv;

float slide(float speed, float value) {
return mod(value - speed * time, 1.0);
}

void main() {
float speed = 4.0;
gl_FragColor = texture2D(
emote,
vec2(uv.x, slide(speed, 1.0 - uv.y)));
gl_FragColor.w = floor(gl_FragColor.w + 0.5);
}
14 changes: 14 additions & 0 deletions glsl/elevator.vs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#version 100
precision mediump float;

attribute vec2 meshPosition;

uniform vec2 resolution;
uniform float time;

varying vec2 uv;

void main() {
gl_Position = vec4(meshPosition, 0.0, 1.0);
uv = (meshPosition + 1.0) / 2.0;
}
20 changes: 20 additions & 0 deletions glsl/go.fs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#version 100

precision mediump float;

uniform vec2 resolution;
uniform float time;

uniform sampler2D emote;

varying vec2 uv;

float slide(float speed, float value) {
return mod(value - speed * time, 1.0);
}

void main() {
float speed = 4.0;
gl_FragColor = texture2D(emote, vec2(slide(speed, uv.x), 1.0 - uv.y));
gl_FragColor.w = floor(gl_FragColor.w + 0.5);
}
14 changes: 14 additions & 0 deletions glsl/go.vs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#version 100
precision mediump float;

attribute vec2 meshPosition;

uniform vec2 resolution;
uniform float time;

varying vec2 uv;

void main() {
gl_Position = vec4(meshPosition, 0.0, 1.0);
uv = (meshPosition + 1.0) / 2.0;
}
15 changes: 15 additions & 0 deletions glsl/hard.fs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#version 100

precision mediump float;

uniform vec2 resolution;
uniform float time;

uniform sampler2D emote;

varying vec2 uv;

void main() {
gl_FragColor = texture2D(emote, vec2(uv.x, 1.0 - uv.y));
gl_FragColor.w = floor(gl_FragColor.w + 0.5);
}
18 changes: 18 additions & 0 deletions glsl/hard.vs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#version 100
precision mediump float;

attribute vec2 meshPosition;

uniform vec2 resolution;
uniform float time;

varying vec2 uv;

void main() {
float zoom = 1.4;
float intensity = 32.0;
float amplitude = 1.0 / 8.0;
vec2 shaking = vec2(cos(intensity * time), sin(intensity * time)) * amplitude;
gl_Position = vec4(meshPosition * zoom + shaking, 0.0, 1.0);
uv = (meshPosition + 1.0) / 2.0;
}
15 changes: 15 additions & 0 deletions glsl/hop.fs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#version 100

precision mediump float;

uniform vec2 resolution;
uniform float time;

uniform sampler2D emote;

varying vec2 uv;

void main() {
gl_FragColor = texture2D(emote, vec2(uv.x, 1.0 - uv.y));
gl_FragColor.w = floor(gl_FragColor.w + 0.5);
}
35 changes: 35 additions & 0 deletions glsl/hop.vs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#version 100
precision mediump float;

attribute vec2 meshPosition;
uniform float time;

varying vec2 uv;

float sliding_from_left_to_right(float time_interval) {
return (mod(time, time_interval) - time_interval * 0.5) / (time_interval * 0.5);
}

float flipping_directions(float time_interval) {
return 1.0 - 2.0 * mod(floor(time / time_interval), 2.0);
}

void main() {
float scale = 0.40;
float hops = 2.0;
float x_time_interval = 0.85;
float y_time_interval = x_time_interval / (2.0 * hops);
float height = 0.5;
vec2 offset = vec2(
sliding_from_left_to_right(x_time_interval) * flipping_directions(x_time_interval) * (1.0 - scale),
((sliding_from_left_to_right(y_time_interval) * flipping_directions(y_time_interval) + 1.0) / 4.0) - height);

gl_Position = vec4(
meshPosition * scale + offset,
0.0,
1.0);

uv = (meshPosition + vec2(1.0, 1.0)) / 2.0;

uv.x = (flipping_directions(x_time_interval) + 1.0) / 2.0 - uv.x * flipping_directions(x_time_interval);
}
15 changes: 15 additions & 0 deletions glsl/hopper.fs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#version 100

precision mediump float;

uniform vec2 resolution;
uniform float time;

uniform sampler2D emote;

varying vec2 uv;

void main() {
gl_FragColor = texture2D(emote, vec2(uv.x, 1.0 - uv.y));
gl_FragColor.w = floor(gl_FragColor.w + 0.5);
}
35 changes: 35 additions & 0 deletions glsl/hopper.vs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#version 100
precision mediump float;

attribute vec2 meshPosition;
uniform float time;

varying vec2 uv;

float sliding_from_left_to_right(float time_interval) {
return (mod(time, time_interval) - time_interval * 0.5) / (time_interval * 0.5);
}

float flipping_directions(float time_interval) {
return 1.0 - 2.0 * mod(floor(time / time_interval), 2.0);
}

void main() {
float scale = 0.40;
float hops = 2.0;
float x_time_interval = 0.85 / 2.0;
float y_time_interval = x_time_interval / (2.0 * hops);
float height = 0.5;
vec2 offset = vec2(
sliding_from_left_to_right(x_time_interval) * flipping_directions(x_time_interval) * (1.0 - scale),
((sliding_from_left_to_right(y_time_interval) * flipping_directions(y_time_interval) + 1.0) / 4.0) - height);

gl_Position = vec4(
meshPosition * scale + offset,
0.0,
1.0);

uv = (meshPosition + vec2(1.0, 1.0)) / 2.0;

uv.x = (flipping_directions(x_time_interval) + 1.0) / 2.0 - uv.x * flipping_directions(x_time_interval);
}
15 changes: 15 additions & 0 deletions glsl/laughing.fs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#version 100

precision mediump float;

uniform vec2 resolution;
uniform float time;

uniform sampler2D emote;

varying vec2 uv;

void main() {
gl_FragColor = texture2D(emote, vec2(uv.x, 1.0 - uv.y));
gl_FragColor.w = floor(gl_FragColor.w + 0.5);
}
18 changes: 18 additions & 0 deletions glsl/laughing.vs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#version 100
precision mediump float;

attribute vec2 meshPosition;
uniform float time;

varying vec2 uv;

void main() {
float a = 0.3;
float t = (sin(24.0 * time) * a + a) / 2.0;

gl_Position = vec4(
meshPosition - vec2(0.0, t),
0.0,
1.0);
uv = (meshPosition + vec2(1.0, 1.0)) / 2.0;
}
15 changes: 15 additions & 0 deletions glsl/overheat.fs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#version 100

precision mediump float;

uniform vec2 resolution;
uniform float time;

uniform sampler2D emote;

varying vec2 uv;

void main() {
gl_FragColor = texture2D(emote, vec2(uv.x, 1.0 - uv.y)) * vec4(1.0, 0.0, 0.0, 1.0);
gl_FragColor.w = floor(gl_FragColor.w + 0.5);
}
Loading