1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-30 16:26:50 +00:00

Shadow volume culling and tighter shadow caster culling

Existing shadow caster culling using the BVH takes no account of the camera. This PR adds the highly encapsulated class VisualServerLightCuller which can cut down the casters in the shadow volume to only those which can cast shadows on the camera frustum.

This is used to:
* More accurately defer dirty updates to shadows when the shadow volume does not intersect the camera frustum.
* Tighter cull shadow casters to the view frustum.

Lights dirty state is now automatically managed:
* Continuous (tighter caster culling)
* Static (all casters are rendered)
This commit is contained in:
lawnjelly
2019-11-02 20:00:24 +00:00
parent e236747b31
commit 8ca631a466
6 changed files with 1416 additions and 18 deletions

File diff suppressed because it is too large Load Diff