summaryrefslogtreecommitdiff
path: root/in_practice/breakout/shaders/post.vert
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;
	}
}