You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Godot v4.2.2.stable.mono - Linux Mint 21.3 (Virginia) - X11 - Vulkan (Forward+) - dedicated AMD Radeon RX 6600 (RADV NAVI23) () - 12th Gen Intel(R) Core(TM) i5-12400F (12 Threads)
Issue description
Godot lights with Add blend mode, when accumulated they add infinitely making the pixels where two or more lights are around way too brighter
changing mode to mix gives such result:
which after changing gradient from black to black + transparent gives this:
which is close but not ideal, for instance, light in the center doesn't light it at all, it's just dark by last light
also turning off modulate canvas with mix lights gives this unwanted black shadows:
which is not ideal for day-night cycle
Changing from White<->Black+Transparent to White<->White+Transparent gradient seems to temporary fix it,
since it looks like this in the night:
But when it's day, all the lights "disappear":
Changing their energy a bit helps lights to be seen in day as well
Though then changing light color becomes hard since color set doesn't match the one shown in inspector and some color's wont be ever reached because how mix blending works
It also looks bad in day
Expected result:
Here's an example from the competition's engine:
It uses blending mode "Multiply" and "Alpha blend" which are not present in Godot
I'd suggesting adding multiply blend mode to Godot
Steps to reproduce
Create new scene with background image for clarity, add CanvasModulate and set it to #4671ff
Spawn PointLight2D, set it's texture to GradientTexture2D with Fill mode Radial as here:
And change that light's blend mode to mixed, duplicate a bunch of times and scatter around close to each other.
Change Gradient from black to black + transparent for other issue, and finally change/reset CanvasModulate to see wrong black shadows from Mix mode
I think this might be more of a feature proposal for a "Multiply" blend mode for lights.
Taking a look at the MRP every test case scenes to look exactly as expected for the given blend modes.
Do you happen to know more details about how the "Multiply" blend mode should work? Also, is your light in the example image using a greater then 1 color/brightness to add energy to the scene?
In my example image provided the intensity is actually set to 2.96 iirc. (URP 2D)
There is wikipedia's article on blend modes which also does mention Multiply and other effects that would be nice to see as well, such as Screen, Overlay, Soft Light, Hard Light, Lighten Only and Darken Only
Tested versions
System information
Godot v4.2.2.stable.mono - Linux Mint 21.3 (Virginia) - X11 - Vulkan (Forward+) - dedicated AMD Radeon RX 6600 (RADV NAVI23) () - 12th Gen Intel(R) Core(TM) i5-12400F (12 Threads)
Issue description
Godot lights with Add blend mode, when accumulated they add infinitely making the pixels where two or more lights are around way too brighter
changing mode to mix gives such result:
which after changing gradient from black to black + transparent gives this:
which is close but not ideal, for instance, light in the center doesn't light it at all, it's just dark by last light
also turning off modulate canvas with mix lights gives this unwanted black shadows:
which is not ideal for day-night cycle
Changing from
White<->Black+Transparent
toWhite<->White+Transparent
gradient seems to temporary fix it,since it looks like this in the night:
But when it's day, all the lights "disappear":
Changing their energy a bit helps lights to be seen in day as well
Though then changing light color becomes hard since color set doesn't match the one shown in inspector and some color's wont be ever reached because how mix blending works
It also looks bad in day
Expected result:
Here's an example from the competition's engine:
It uses blending mode "Multiply" and "Alpha blend" which are not present in Godot
I'd suggesting adding multiply blend mode to Godot
Steps to reproduce
Create new scene with background image for clarity, add CanvasModulate and set it to
#4671ff
Spawn PointLight2D, set it's texture to GradientTexture2D with Fill mode Radial as here:
And change that light's blend mode to mixed, duplicate a bunch of times and scatter around close to each other.
Change Gradient from black to black + transparent for other issue, and finally change/reset CanvasModulate to see wrong black shadows from Mix mode
Minimal reproduction project (MRP)
IssueWithLight2D.zip
The text was updated successfully, but these errors were encountered: