在我目前的 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 太不稳定,我需要转移我的整个项目:/)。谁能为我提供一个代码片段,以便在最佳情况下获得可调节的高斯模糊效果?
像这样的东西会很棒:
我知道我要求很多,但我会感谢每一个帮助。:)