Files
wireless-docs/public/assets/minecraft/shaders/post/entity_outline_box_blur.fsh

31 lines
652 B
GLSL

#version 330
layout(std140) uniform SamplerInfo {
vec2 OutSize;
vec2 InSize;
};
layout(std140) uniform BlurConfig {
vec2 BlurDir;
float Radius;
};
uniform sampler2D InSampler;
in vec2 texCoord;
out vec4 fragColor;
void main() {
vec2 oneTexel = 1.0 / InSize;
vec2 sampleStep = oneTexel * BlurDir;
vec4 blurred = vec4(0.0);
float radius = 2.0;
for (float a = -radius + 0.5; a <= radius; a += 2.0) {
blurred += texture(InSampler, texCoord + sampleStep * a);
}
blurred += texture(InSampler, texCoord + sampleStep * radius) / 2.0;
fragColor = vec4((blurred / (radius + 0.5)).rgb, blurred.a);
}