Fix #114284: EEVEE-Next: Light cutoff with small radius

This commit is contained in:
Miguel Pozo
2023-12-12 21:26:24 +01:00
parent a7e8d8c8be
commit b86d656df4

View File

@@ -172,7 +172,9 @@ void Light::shape_parameters_set(const ::Light *la, const float scale[3])
_area_size_x = tanf(min_ff(la->sun_angle, DEG2RADF(179.9f)) / 2.0f);
}
else {
_area_size_x = la->radius;
/* Ensure a minimum radius/energy ratio to avoid harsh cut-offs. (See 114284) */
float min_radius = la->energy * 2e-05f;
_area_size_x = std::max(la->radius, min_radius);
}
_area_size_y = _area_size_x = max_ff(0.001f, _area_size_x);
radius_squared = square_f(_area_size_x);