procedural-3d-engine/shaders/glsl/ssao/blur.frag

25 lines
546 B
GLSL
Raw Normal View History

2016-10-28 21:16:21 +02:00
#version 450
layout (binding = 0) uniform sampler2D samplerSSAO;
layout (location = 0) in vec2 inUV;
layout (location = 0) out float outFragColor;
void main()
{
const int blurRange = 2;
int n = 0;
2016-10-28 21:16:21 +02:00
vec2 texelSize = 1.0 / vec2(textureSize(samplerSSAO, 0));
float result = 0.0;
for (int x = -blurRange; x < blurRange; x++)
{
for (int y = -blurRange; y < blurRange; y++)
{
vec2 offset = vec2(float(x), float(y)) * texelSize;
result += texture(samplerSSAO, inUV + offset).r;
n++;
2016-10-28 21:16:21 +02:00
}
}
outFragColor = result / (float(n));
2016-10-28 21:16:21 +02:00
}