Tighter light culling - fix directional lights colinear case

Exactly the same fix as done already for non-directional lights.
This commit is contained in:
lawnjelly 2024-05-10 09:05:49 +01:00 committed by Relintai
parent fa194fc9e4
commit 2c471d100d

View File

@ -228,9 +228,11 @@ bool RenderingServerLightCuller::add_light_camera_planes_directional(const Light
// 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);
add_cull_plane(p);
if (!_is_colinear_tri(pt0, pt1, pt2)) {
// Create plane from 3 points.
Plane p(pt0, pt1, pt2);
add_cull_plane(p);
}
}
// Last to 0 edge.
@ -244,9 +246,11 @@ bool RenderingServerLightCuller::add_light_camera_planes_directional(const Light
// 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);
add_cull_plane(p);
if (!_is_colinear_tri(pt0, pt1, pt2)) {
// Create plane from 3 points.
Plane p(pt0, pt1, pt2);
add_cull_plane(p);
}
}
#ifdef LIGHT_CULLER_DEBUG_LOGGING