Browse Source

Fix regression in baked lights when using GLES2

Lights with bake mode set to "All" were behaving erratically because of a
faulty check in the renderer. This should be the correct way to check if
a geometry instance is using baked light.
jfons 4 năm trước cách đây
mục cha
commit
69939028b3
1 tập tin đã thay đổi với 1 bổ sung1 xóa
  1. 1 1
      drivers/gles2/rasterizer_scene_gles2.cpp

+ 1 - 1
drivers/gles2/rasterizer_scene_gles2.cpp

@@ -2300,7 +2300,7 @@ void RasterizerSceneGLES2::_render_render_list(RenderList::Element **p_elements,
 
 			if (!unshaded && e->light_index < RenderList::MAX_LIGHTS) {
 				light = render_light_instances[e->light_index];
-				if (e->light_mode == LightMode::LIGHTMODE_LIGHTMAP && light->light_ptr->bake_mode == VS::LIGHT_BAKE_ALL) {
+				if (e->instance->baked_light && light->light_ptr->bake_mode == VS::LIGHT_BAKE_ALL) {
 					light = NULL; // Don't use this light, it is already included in the lightmap
 				}
 			}