blob: 7a8ac4f13602a4130f8c0fd6bf91be211e01755b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#version 330 core
layout (location = 0) in vec4 vertex;
out vert_t {
vec2 tex_coords;
} vert;
uniform bool chaos;
uniform bool confuse;
uniform bool shake;
uniform float time;
void main()
{
gl_Position = vec4(vertex.xy, 0.0, 1.0);
vec2 texture = vertex.zw;
if (chaos) {
float strength = 0.3;
vec2 pos = vec2(texture.x + sin(time) * strength,
texture.y + cos(time) * strength);
vert.tex_coords = pos;
} else if (confuse) {
vert.tex_coords = vec2(1.0) - texture;
} else {
vert.tex_coords = texture;
}
if (shake) {
float strength = 0.01;
gl_Position.x += cos(time * 10) * strength;
gl_Position.y += cos(time * 15) * strength;
}
}
|