From f22f60e7c4b57b28add3658eaa86b21041cad241 Mon Sep 17 00:00:00 2001 From: Mitchell Stokes Date: Thu, 29 Mar 2012 01:56:08 +0000 Subject: BGE: This fixes a problem where lamps in inactive layers were rendering shadows buffers that never got used, which was a huge performance sink. --- source/gameengine/Converter/BL_BlenderDataConversion.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'source/gameengine') diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.cpp b/source/gameengine/Converter/BL_BlenderDataConversion.cpp index 9c59bf78041..1b7bb61fe79 100644 --- a/source/gameengine/Converter/BL_BlenderDataConversion.cpp +++ b/source/gameengine/Converter/BL_BlenderDataConversion.cpp @@ -1918,16 +1918,20 @@ static KX_GameObject *gameobject_from_blenderobject( KX_BlenderSceneConverter *converter) { KX_GameObject *gameobj = NULL; + Scene *blenderscene = kxscene->GetBlenderScene(); switch(ob->type) { case OB_LAMP: { - KX_LightObject* gamelight= gamelight_from_blamp(ob, static_cast(ob->data), ob->lay, kxscene, rendertools, converter); + KX_LightObject* gamelight = gamelight_from_blamp(ob, static_cast(ob->data), ob->lay, kxscene, rendertools, converter); gameobj = gamelight; - gamelight->AddRef(); - kxscene->GetLightList()->Add(gamelight); + if (blenderscene->lay & ob->lay) + { + gamelight->AddRef(); + kxscene->GetLightList()->Add(gamelight); + } break; } -- cgit v1.2.3