Files
opengl-learning/lessons/5. Advanced Lighting/1. Advanced Lighting/src/shaders/quadShader.frag
2021-02-12 15:43:03 +01:00

35 lines
740 B
GLSL

#version 330 core
out vec4 FragColor;
in vec2 TexCoord;
uniform sampler2D texture0;
float offset = 1.0 / 300.0;
void main()
{
vec2 offsets[9] = vec2[](
vec2(-offset, offset), // top-left
vec2(0.0, offset), // top-center
vec2(offset, offset), // top-right
vec2(-offset, 0.0), // center-right
vec2(0.0, 0.0), // center-center
vec2(offset, 0.0), // center-right
vec2(-offset, -offset), // bottom-left
vec2(0.0, -offset), // bottom-center
vec2(offset, -offset) // bottom-right
);
float kernel[9] = float[](
0, 0, 0,
0, 1, 0,
0, 0, 0
);
vec3 col = vec3(0.0);
for (int i = 0; i < 9; i++)
{
col += vec3(texture(texture0, TexCoord.st + offsets[i])) * kernel[i];
}
FragColor = vec4(col, 1.0);
}