Răsfoiți Sursa

Merge pull request #74539 from Ansraer/3.x-fix-shadows

[3.x] Fix shadows when using 2 directional lights
lawnjelly 2 ani în urmă
părinte
comite
1a4ef34d50

+ 1 - 1
drivers/gles2/rasterizer_scene_gles2.cpp

@@ -3697,7 +3697,7 @@ void RasterizerSceneGLES2::render_shadow(RID p_light, RID p_shadow_atlas, int p_
 		} else if (directional_shadow.light_count == 2) {
 			light_instance->directional_rect = Rect2(0, 0, directional_shadow.size, directional_shadow.size / 2);
 			if (light_instance->light_directional_index == 1) {
-				light_instance->directional_rect.position.x += light_instance->directional_rect.size.x;
+				light_instance->directional_rect.position.y += light_instance->directional_rect.size.y;
 			}
 		} else { //3 and 4
 			light_instance->directional_rect = Rect2(0, 0, directional_shadow.size / 2, directional_shadow.size / 2);

+ 1 - 1
drivers/gles3/rasterizer_scene_gles3.cpp

@@ -4721,7 +4721,7 @@ void RasterizerSceneGLES3::render_shadow(RID p_light, RID p_shadow_atlas, int p_
 			} else if (directional_shadow.light_count == 2) {
 				light_instance->directional_rect = Rect2(0, 0, directional_shadow.size, directional_shadow.size / 2);
 				if (light_instance->light_directional_index == 1) {
-					light_instance->directional_rect.position.x += light_instance->directional_rect.size.x;
+					light_instance->directional_rect.position.y += light_instance->directional_rect.size.y;
 				}
 			} else { //3 and 4
 				light_instance->directional_rect = Rect2(0, 0, directional_shadow.size / 2, directional_shadow.size / 2);