All
This commit is contained in:
parent
7a8ee29dcb
commit
0fe23420ab
800 changed files with 16547 additions and 0 deletions
26
shaders/glow.gdshader
Normal file
26
shaders/glow.gdshader
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
shader_type canvas_item;
|
||||
|
||||
uniform vec4 outline_color : source_color = vec4(1.0, 1.0, 1.0, 1.0);
|
||||
uniform float outline_width : hint_range(0.0, 10.0) = 1.0;
|
||||
uniform float outline_alpha : hint_range(0.0, 1.0) = 1.0;
|
||||
|
||||
void fragment() {
|
||||
vec2 size = TEXTURE_PIXEL_SIZE * outline_width;
|
||||
vec4 sprite_color = texture(TEXTURE, UV);
|
||||
float outline = 0.0;
|
||||
|
||||
// Left
|
||||
outline += texture(TEXTURE, UV + vec2(-size.x, 0)).a;
|
||||
// Right
|
||||
outline += texture(TEXTURE, UV + vec2(size.x, 0)).a;
|
||||
// Top
|
||||
outline += texture(TEXTURE, UV + vec2(0, -size.y)).a;
|
||||
// Top-left
|
||||
outline += texture(TEXTURE, UV + vec2(-size.x, -size.y)).a;
|
||||
// Top-right
|
||||
outline += texture(TEXTURE, UV + vec2(size.x, -size.y)).a;
|
||||
|
||||
outline = min(outline, 1.0);
|
||||
vec4 final_color = mix(outline_color, sprite_color, sprite_color.a);
|
||||
COLOR = vec4(final_color.rgb, max(sprite_color.a, outline * outline_color.a * outline_alpha));
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue