You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-05 12:10:55 +00:00
Tighter light culling - fix directional lights colinear case
Exactly the same fix as done already for non-directional lights.
This commit is contained in:
@@ -279,9 +279,11 @@ bool RenderingLightCuller::add_light_camera_planes_directional(LightCullPlanes &
|
||||
// Create a third point from the light direction.
|
||||
Vector3 pt2 = pt0 - p_light_source.dir;
|
||||
|
||||
// Create plane from 3 points.
|
||||
Plane p(pt0, pt1, pt2);
|
||||
r_cull_planes.add_cull_plane(p);
|
||||
if (!_is_colinear_tri(pt0, pt1, pt2)) {
|
||||
// Create plane from 3 points.
|
||||
Plane p(pt0, pt1, pt2);
|
||||
r_cull_planes.add_cull_plane(p);
|
||||
}
|
||||
}
|
||||
|
||||
// Last to 0 edge.
|
||||
@@ -295,9 +297,11 @@ bool RenderingLightCuller::add_light_camera_planes_directional(LightCullPlanes &
|
||||
// Create a third point from the light direction.
|
||||
Vector3 pt2 = pt0 - p_light_source.dir;
|
||||
|
||||
// Create plane from 3 points.
|
||||
Plane p(pt0, pt1, pt2);
|
||||
r_cull_planes.add_cull_plane(p);
|
||||
if (!_is_colinear_tri(pt0, pt1, pt2)) {
|
||||
// Create plane from 3 points.
|
||||
Plane p(pt0, pt1, pt2);
|
||||
r_cull_planes.add_cull_plane(p);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef LIGHT_CULLER_DEBUG_LOGGING
|
||||
|
||||
Reference in New Issue
Block a user