v4k-git-backup/demos/art/fx/fxBlur.fs

17 lines
569 B
Forth
Raw Normal View History

// [ref] https://rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/
2024-08-12 15:18:56 +00:00
uniform float intensity; /// set:4
uniform vec2 direction; /// set:1,0
void mainImage( out vec4 fragColor, in vec2 fragCoord ) {
vec2 uv = fragCoord.xy / iResolution.xy;
vec4 base = texture(iChannel0, uv), color = vec4(0.0);
vec2 offset = (direction * vec2(intensity)) / iResolution;
color += base * 0.30;
color += texture(iChannel0, uv + offset) * 0.35;
color += texture(iChannel0, uv - offset) * 0.35;
fragColor = vec4( color.rgb, base.a );
}