Skip to content

Multiple directional lights with shadows break additive blend shaders in Compatibility #112216

@dog-on-moon

Description

@dog-on-moon

Tested versions

v4.5.stable.custom_build [575dda8]

System information

Godot v4.5.stable (575dda8) - Windows 11 (build 26100) - Multi-window, 2 monitors - OpenGL 3 (Compatibility) - NVIDIA GeForce RTX 2070 SUPER (NVIDIA; 32.0.15.6603) - Intel(R) Core(TM) i7-10700F CPU @ 2.90GHz (16 threads) - 31.93 GiB memory

Issue description

Using multiple directional lights with shadows seem to break shaders in certain circumstances. The arrow mesh shader shown here uses an additive blend mode that has its alpha set to 0 when it is behind the root node. This works when:

  1. Either light is hidden,
  2. The player mesh is hidden.

But when both lights and the player mesh are visible, the arrow shader stops working. The cause of this seems to be very unreliable, and seems to affects shaders with additive blending in my project.

Godot_v4.5-stable_win64_B7F1X9i0nX.mp4

Steps to reproduce

  1. Use multiple directional lights with shadows enabled
  2. Have meshes that use additive blend mode

There might be some more niche conditions for this, but I was able to replicate the issue in the MRP below.

Minimal reproduction project (MRP)

directional_light_culling_2025-10-30_14-27-53.zip

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    For team assessment

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions