diff options
author | Miguel Gonzalez Sanchez <822035+bitbrain@users.noreply.github.com> | 2022-09-24 20:13:12 +0100 |
---|---|---|
committer | Miguel Gonzalez Sanchez <822035+bitbrain@users.noreply.github.com> | 2022-09-24 20:13:12 +0100 |
commit | 2047be4516890fe12dfc2d2f3fb40048fd1891dc (patch) | |
tree | d761f97a5440098dee90afb2d9e3d1f49bb2ef00 /servers/rendering/renderer_rd/shaders | |
parent | f74491fdee9bc2d68668137fbacd8f3a7e7e8df7 (diff) |
fix broken 2D light blending, addresses #49922
Diffstat (limited to 'servers/rendering/renderer_rd/shaders')
-rw-r--r-- | servers/rendering/renderer_rd/shaders/canvas.glsl | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/servers/rendering/renderer_rd/shaders/canvas.glsl b/servers/rendering/renderer_rd/shaders/canvas.glsl index 459d798a80..1f33e84f96 100644 --- a/servers/rendering/renderer_rd/shaders/canvas.glsl +++ b/servers/rendering/renderer_rd/shaders/canvas.glsl @@ -595,6 +595,8 @@ void main() { color = vec4(0.0); //invisible by default due to using light mask } + vec4 original_color = color; + #ifdef MODE_LIGHT_ONLY color = vec4(0.0); #else @@ -636,6 +638,8 @@ void main() { ); } + light_color.rgb *= original_color.rgb; + light_blend_compute(light_base, light_color, color.rgb); } @@ -732,6 +736,8 @@ void main() { ); } + light_color.rgb *= original_color.rgb; + light_blend_compute(light_base, light_color, color.rgb); } #endif |