Godot 高斯模糊着色器

Godot Gaussian Blur Shader


在我当前的 Godot 游戏中,我使用模糊着色器来模糊背景并保持 UI 清晰。我用来创建此效果的着色器有效,但模糊得很少或看起来有故障。例如:

float radius = 0.009;
vec3 col = vec3(0);

col+= texscreen(SCREEN_UV+vec2(-radius,-radius));
col+= texscreen(SCREEN_UV+vec2(0,-radius));
col+= texscreen(SCREEN_UV+vec2(radius,-radius));

col+= texscreen(SCREEN_UV+vec2(-radius,0));
col+= texscreen(SCREEN_UV+vec2(0,0));
col+= texscreen(SCREEN_UV+vec2(radius,0));


col+= texscreen(SCREEN_UV+vec2(-radius,radius));
col+= texscreen(SCREEN_UV+vec2(0,radius));
col+= texscreen(SCREEN_UV+vec2(radius,radius));

col/=9.0;
COLOR.rgb=col;

我会自己写这样的代码,但我不知道Godot 2.0的着色器语言(我的项目使用2.0,3.0太不稳定,我需要转移我的整个项目:/)。 任何人都可以为我提供一个代码片段,以在最佳情况下实现美观的可调节高斯模糊吗?

这样就好了:

我知道我要求很多,但我会很感激每一个帮助。 :)

对于任何想知道这种高斯模糊的解决方案是什么的人:

https://www.reddit.com/r/godot/comments/7kdshl/godot_gaussian_blur_shader/