Skip to content

SpotLight3D culling happens too early for with angles above 90 degrees #110367

@Calinou

Description

@Calinou

Tested versions

  • Reproducible in: 4.3.stable, 4.4.1.stable, 4.5.rc1

System information

Godot v4.5.beta (6c9aa4c) - Fedora Linux 42 (KDE Plasma Desktop Edition) on X11 - X11 display driver, Multi-window, 1 monitor - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 5090 (nvidia; 575.64.05) - AMD Ryzen 9 9950X3D 16-Core Processor (32 threads) - 62.33 GiB memory

Issue description

SpotLight3D culling happens too early for with ultrawide angles (above 90 degrees). The higher the angle, the more likely the issue will appear when the camera moves or rotates. The issue also depends on the viewport's aspect ratio, with narrower aspect ratios more likely to encounter the issue.

This issue affects all rendering methods.

spotlight3d_cull_too_early.mp4

Note that on Forward+, this is not a clustering issue anymore, since it was fixed by #100236. The issue is likely to be on the CPU culling side instead.

PS: I've also noticed that in Compatibility, the Camera3D preview in the inspector will have incorrect lighting (it looks like it uses the editor viewport lights' positions, but the actual camera for mesh rendering). Not sure if this is related, but I couldn't reproduce this in a blank project.

Steps to reproduce

  • Add a SpotLight3D node. Set its angle to a value like 175 degrees.
  • Move and rotate the camera in the 3D editor. The light will eventually disappear, even though it should logically still be on screen.

Minimal reproduction project (MRP)

test_spotlight_culling.zip

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions