shader_type canvas_item; uniform vec4 shadow_color = vec4(0.0, 0.0, 0.0, 0.5); // Shadow color and transparency uniform vec2 shadow_offset = vec2(5.0, 5.0); // Offset for the shadow void fragment() { // Move the texture coordinates by the shadow offset vec2 shadow_uv = UV + shadow_offset / SCREEN_PIXEL_SIZE; vec4 tex_color = texture(TEXTURE, shadow_uv); // Apply the shadow color to the texture COLOR = tex_color * shadow_color; }