PostProcessing
This commit is contained in:
45
postprocessing.fs
Normal file
45
postprocessing.fs
Normal file
@@ -0,0 +1,45 @@
|
||||
#version 330 core
|
||||
in vec2 TexCoords;
|
||||
out vec4 color;
|
||||
|
||||
uniform sampler2D scene;
|
||||
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 ()
|
||||
{
|
||||
color = vec4(0.0, 0.0,0.0,1.0);
|
||||
vec3 sample[9];
|
||||
|
||||
if(chaos || shake)
|
||||
for (int i = 0; i < 9; i++)
|
||||
sample[i] = vec3(texture(scene,TexCoords.st + offsets[i]));
|
||||
|
||||
// process effects
|
||||
if (chaos)
|
||||
{
|
||||
for(int i = 0; i < 9; i ++)
|
||||
color += vec4(sample[i] * edge_kernel[i], 0.0);
|
||||
color.a = 1.0;
|
||||
}
|
||||
else if (confuse)
|
||||
{
|
||||
color = vec4(1.0 - texture(scene, TexCoords).rgb, 1.0);
|
||||
}
|
||||
else if (shake)
|
||||
{
|
||||
for (int i = 0; i < 9; i++)
|
||||
color += vec4(sample[i] * blur_kernel[i], 0.0);
|
||||
color.a = 1.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
color = texture(scene, TexCoords);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user