Files
2025-03-09 18:32:49 +01:00

25 lines
588 B
GLSL

#version 150 core
uniform sampler2D DiffuseSampler;
in vec2 texCoord;
in vec2 oneTexel;
uniform vec2 InSize;
uniform vec2 BlurDir;
uniform float Radius;
uniform float Progress;
out vec4 outColor;
void main() {
vec4 blurred = vec4(0.0);
float progRadius = floor(Radius * Progress);
for (float r = -progRadius; r <= progRadius; r += 1.0) {
blurred += texture(DiffuseSampler, texCoord + oneTexel * r * BlurDir);
}
// force alpha to be 1.0 since otherwise areas with zero alpha turn black?
outColor = vec4(blurred.rgb / (progRadius * 2.0 + 1.0), 1.0);
}