From 866ff4999383f7da82c82dd20e628cc0df41fe77 Mon Sep 17 00:00:00 2001 From: Azaezel Date: Wed, 5 Dec 2018 10:55:29 -0600 Subject: [PATCH] retweaked filter for wether ot not to supress the zonelight culling methods when not in the diffuse pass --- Engine/source/lighting/lightManager.cpp | 4 ++-- Engine/source/lighting/lightManager.h | 2 +- Engine/source/scene/reflector.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Engine/source/lighting/lightManager.cpp b/Engine/source/lighting/lightManager.cpp index 3f93e5b20..8f99ac0de 100644 --- a/Engine/source/lighting/lightManager.cpp +++ b/Engine/source/lighting/lightManager.cpp @@ -198,7 +198,7 @@ void LightManager::setSpecialLight( LightManager::SpecialLightTypesEnum type, Li registerGlobalLight( light, NULL ); } -void LightManager::registerGlobalLights( const Frustum *frustum, bool staticLighting, bool cullSceneLights) +void LightManager::registerGlobalLights( const Frustum *frustum, bool staticLighting, bool enableZoneLightCulling) { PROFILE_SCOPE( LightManager_RegisterGlobalLights ); @@ -226,7 +226,7 @@ void LightManager::registerGlobalLights( const Frustum *frustum, bool staticLigh { // Cull the lights using the frustum. getSceneManager()->getContainer()->findObjectList( *frustum, lightMask, &activeLights ); - if (cullSceneLights) + if (enableZoneLightCulling) { for (U32 i = 0; i < activeLights.size(); ++i) { diff --git a/Engine/source/lighting/lightManager.h b/Engine/source/lighting/lightManager.h index f57324801..fb54fe850 100644 --- a/Engine/source/lighting/lightManager.h +++ b/Engine/source/lighting/lightManager.h @@ -134,7 +134,7 @@ public: virtual void registerLocalLight( LightInfo *light ); virtual void unregisterLocalLight( LightInfo *light ); - virtual void registerGlobalLights( const Frustum *frustum, bool staticlighting, bool cullSceneLights = true ); + virtual void registerGlobalLights( const Frustum *frustum, bool staticlighting, bool enableZoneLightCulling = false ); virtual void unregisterAllLights(); /// Returns all unsorted and un-scored lights (both global and local). diff --git a/Engine/source/scene/reflector.cpp b/Engine/source/scene/reflector.cpp index 871bd56bb..ecaabc43a 100644 --- a/Engine/source/scene/reflector.cpp +++ b/Engine/source/scene/reflector.cpp @@ -422,7 +422,7 @@ void CubeReflector::updateFace( const ReflectParams ¶ms, U32 faceidx ) reflectRenderState.setDiffuseCameraTransform( params.query->headMatrix ); // render scene - LIGHTMGR->registerGlobalLights( &reflectRenderState.getCullingFrustum(), false, false ); + LIGHTMGR->registerGlobalLights( &reflectRenderState.getCullingFrustum(), false ); gClientSceneGraph->renderSceneNoLights( &reflectRenderState, mDesc->objectTypeMask ); LIGHTMGR->unregisterAllLights();