blob: 899b0985df66651d60f0fc7534c6ea238db9158b (
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
34
35
36
37
38
|
#version 330 core
in vert_t {
vec2 tex_coords;
} vert;
out vec4 frag_color;
uniform sampler2D colorbuffer;
uniform vec2 offsets[9];
uniform int edge_kernel[9];
uniform float blur_kernel[9];
uniform bool chaos;
uniform bool confuse;
uniform bool shake;
void main()
{
frag_color = vec4(0.0);
vec3 sample[9];
if (chaos || shake)
for (int i = 0; i < 9; i++)
sample[i] = vec3(texture(colorbuffer, vert.tex_coords + offsets[i]));
if (chaos) {
for (int i = 0; i < 9; i++)
frag_color += vec4(sample[i] * edge_kernel[i], 0.0);
frag_color.a = 1.0;
} else if (confuse) {
frag_color = vec4(1.0 - texture(colorbuffer, vert.tex_coords).rgb, 1.0);
} else if (shake) {
for (int i = 0; i < 9; i++)
frag_color += vec4(sample[i] * blur_kernel[i], 0.0);
frag_color.a = 1.0;
} else {
frag_color = texture(colorbuffer, vert.tex_coords);
}
}
|