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
When using the Compatibility rendering method, SpotLight3D shadows will occasionally start using the wrong texture after moving the camera away from them. This can be seen in the editor:
compatibility_shadow_error.mp4
Once the SpotLight3D starts using the wrong texture, this is permanent: reloading the saved scene or toggling shadows on the SpotLight3D won't fix the issue.
It seems the SpotLight3D uses the directional shadow map instead of the positional shadow atlas. This is made evident by the fact that once you enter this glitched state, hiding the DirectionalLight3D will also hide the SpotLight3D:
Working
Broken
(The SpotLight3D node has visible = true on both screenshots here.)
No errors are visible in the output log. I haven't managed to reproduce this issue on Forward+ or Mobile, so I assume this is Compatibility-specific.
Steps to reproduce
Create a 3D scene with a DirectionalLight3D that has shadows enabled and a SpotLight3D that has shadows enabled.
An OmniLight3D with shadows enabled may be necessary to reproduce the issue as well, but it might not actually be required.
Basically what would happen is when trying to reuse shadow a shadow texture it would sometimes use a previously generated cubemap texture. This caused the shown behavior as well as causing the omni light to stop updating its texture.
Tested versions
System information
Godot v4.3.dev (5708a3a) - Fedora Linux 39 (KDE Plasma) - Wayland - GLES3 (Compatibility) - NVIDIA GeForce RTX 4090 (nvidia; 545.29.06) - 13th Gen Intel(R) Core(TM) i9-13900K (32 Threads)
Issue description
When using the Compatibility rendering method, SpotLight3D shadows will occasionally start using the wrong texture after moving the camera away from them. This can be seen in the editor:
compatibility_shadow_error.mp4
Once the SpotLight3D starts using the wrong texture, this is permanent: reloading the saved scene or toggling shadows on the SpotLight3D won't fix the issue.
It seems the SpotLight3D uses the directional shadow map instead of the positional shadow atlas. This is made evident by the fact that once you enter this glitched state, hiding the DirectionalLight3D will also hide the SpotLight3D:
(The SpotLight3D node has
visible = true
on both screenshots here.)No errors are visible in the output log. I haven't managed to reproduce this issue on Forward+ or Mobile, so I assume this is Compatibility-specific.
Steps to reproduce
Minimal reproduction project (MRP)
truck_town_compatibility_shadow_error.zip
The text was updated successfully, but these errors were encountered: