Browse Source

Merge pull request #38932 from Calinou/increase-light3d-shadow-bias

Increase the default DirectionalLight3D and OmniLight3D shadow biases
Rémi Verschelde 5 years ago
parent
commit
cb9d02a8d1
1 changed files with 6 additions and 1 deletions
  1. 6 1
      scene/3d/light_3d.cpp

+ 6 - 1
scene/3d/light_3d.cpp

@@ -424,9 +424,11 @@ DirectionalLight3D::DirectionalLight3D() :
 		Light3D(RenderingServer::LIGHT_DIRECTIONAL) {
 	set_param(PARAM_SHADOW_MAX_DISTANCE, 100);
 	set_param(PARAM_SHADOW_FADE_START, 0.8);
+	// Increase the default shadow bias to better suit most scenes.
+	// Leave normal bias untouched as it doesn't benefit DirectionalLight3D as much as OmniLight3D.
+	set_param(PARAM_SHADOW_BIAS, 0.05);
 	set_shadow_mode(SHADOW_PARALLEL_4_SPLITS);
 	set_shadow_depth_range(SHADOW_DEPTH_RANGE_STABLE);
-
 	blend_splits = false;
 }
 
@@ -468,6 +470,9 @@ void OmniLight3D::_bind_methods() {
 OmniLight3D::OmniLight3D() :
 		Light3D(RenderingServer::LIGHT_OMNI) {
 	set_shadow_mode(SHADOW_CUBE);
+	// Increase the default shadow biases to better suit most scenes.
+	set_param(PARAM_SHADOW_BIAS, 0.1);
+	set_param(PARAM_SHADOW_NORMAL_BIAS, 2.0);
 }
 
 String SpotLight3D::get_configuration_warning() const {