mirror of https://github.com/godotengine/godot
Fix regression with shadows when light range is 0 or close
This commit is contained in:
parent
99a8ab795d
commit
c9632d0eb6
|
|
@ -2510,7 +2510,7 @@ bool RendererSceneCull::_light_instance_update_shadow(Instance *p_instance, cons
|
||||||
}
|
}
|
||||||
|
|
||||||
real_t radius = RSG::light_storage->light_get_param(p_instance->base, RS::LIGHT_PARAM_RANGE);
|
real_t radius = RSG::light_storage->light_get_param(p_instance->base, RS::LIGHT_PARAM_RANGE);
|
||||||
real_t z_near = 0.005f;
|
real_t z_near = MIN(0.005f, radius);
|
||||||
Projection cm;
|
Projection cm;
|
||||||
cm.set_perspective(90, 1, z_near, radius);
|
cm.set_perspective(90, 1, z_near, radius);
|
||||||
|
|
||||||
|
|
@ -2600,7 +2600,7 @@ bool RendererSceneCull::_light_instance_update_shadow(Instance *p_instance, cons
|
||||||
|
|
||||||
real_t radius = RSG::light_storage->light_get_param(p_instance->base, RS::LIGHT_PARAM_RANGE);
|
real_t radius = RSG::light_storage->light_get_param(p_instance->base, RS::LIGHT_PARAM_RANGE);
|
||||||
real_t angle = RSG::light_storage->light_get_param(p_instance->base, RS::LIGHT_PARAM_SPOT_ANGLE);
|
real_t angle = RSG::light_storage->light_get_param(p_instance->base, RS::LIGHT_PARAM_SPOT_ANGLE);
|
||||||
real_t z_near = 0.005f;
|
real_t z_near = MIN(0.005f, radius);
|
||||||
|
|
||||||
Projection cm;
|
Projection cm;
|
||||||
cm.set_perspective(angle * 2.0, 1.0, z_near, radius);
|
cm.set_perspective(angle * 2.0, 1.0, z_near, radius);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue