Forgot to commit the blur shader, oopsie
This commit is contained in:
parent
2afb1de41b
commit
230612d20d
1 changed files with 32 additions and 0 deletions
32
assets/shaders/blur.gdshader
Normal file
32
assets/shaders/blur.gdshader
Normal file
|
@ -0,0 +1,32 @@
|
|||
// From https://www.reddit.com/r/godot/comments/12cb1t2/comment/jf1y66f/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button
|
||||
shader_type canvas_item;
|
||||
render_mode blend_mix;
|
||||
|
||||
uniform float radius = 4.0;
|
||||
uniform int steps = 32;
|
||||
uniform float vertex_expand = 1.0;
|
||||
|
||||
mat2 rotationMatrix(float angle){
|
||||
angle *= PI / 180.0;
|
||||
float s = sin(angle);
|
||||
float c = cos(angle);
|
||||
return mat2( vec2(c, -s), vec2( s, c) );
|
||||
}
|
||||
|
||||
void vertex() {
|
||||
VERTEX.x *= vertex_expand;
|
||||
VERTEX.y *= vertex_expand;
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
float uvx = UV.x * vertex_expand - vertex_expand/2.0 + 0.5;
|
||||
float uvy = UV.y * vertex_expand - vertex_expand/2.0 + 0.5;
|
||||
vec2 new_uv = vec2(uvx,uvy);
|
||||
vec4 col = texture(TEXTURE, new_uv);
|
||||
float angle = 360.0 / float(steps);
|
||||
for (int i = 0; i < steps; i++){
|
||||
col += texture(TEXTURE, new_uv + vec2(radius, 0.0) * rotationMatrix(angle*float(i)) * TEXTURE_PIXEL_SIZE);
|
||||
}
|
||||
col /= float(steps) + 1.0;
|
||||
COLOR = col;
|
||||
}
|
Loading…
Reference in a new issue