From ad04490ef84d7565fbec0fa878a21694ad2d61f0 Mon Sep 17 00:00:00 2001 From: pryazha Date: Tue, 26 Aug 2025 10:55:18 +0500 Subject: guess that's all --- in_practice/breakout/shaders/post.frag | 38 ++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 in_practice/breakout/shaders/post.frag (limited to 'in_practice/breakout/shaders/post.frag') diff --git a/in_practice/breakout/shaders/post.frag b/in_practice/breakout/shaders/post.frag new file mode 100644 index 0000000..899b098 --- /dev/null +++ b/in_practice/breakout/shaders/post.frag @@ -0,0 +1,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); + } +} -- cgit v1.2.3-70-g09d2