From e46bf28e5fc028d6268c0fa255ab5a0e36adc5f7 Mon Sep 17 00:00:00 2001 From: AnyOldName3 Date: Sat, 3 Mar 2018 15:13:36 +0000 Subject: [PATCH] Add object shadows setting --- apps/openmw/mwrender/renderingmanager.cpp | 6 +++++- files/settings-default.cfg | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/apps/openmw/mwrender/renderingmanager.cpp b/apps/openmw/mwrender/renderingmanager.cpp index 680f4ebd02..33ce9346bf 100644 --- a/apps/openmw/mwrender/renderingmanager.cpp +++ b/apps/openmw/mwrender/renderingmanager.cpp @@ -207,8 +207,12 @@ namespace MWRender shadowCastingTraversalMask |= Mask_Player; if (Settings::Manager::getBool("terrain shadows", "Shadows")) shadowCastingTraversalMask |= Mask_Terrain; + + int indoorShadowCastingTraversalMask = shadowCastingTraversalMask; + if (Settings::Manager::getBool("object shadows", "Shadows")) + shadowCastingTraversalMask |= Mask_Object; - mShadowManager.reset(new SceneUtil::ShadowManager(sceneRoot, mRootNode, Mask_Object | shadowCastingTraversalMask, shadowCastingTraversalMask)); + mShadowManager.reset(new SceneUtil::ShadowManager(sceneRoot, mRootNode, shadowCastingTraversalMask, indoorShadowCastingTraversalMask)); Shader::ShaderManager::DefineMap shadowDefines = mShadowManager->getShadowDefines(); Shader::ShaderManager::DefineMap globalDefines = mResourceSystem->getSceneManager()->getShaderManager().getGlobalDefines(); diff --git a/files/settings-default.cfg b/files/settings-default.cfg index ae3d6eefcd..ee102af520 100644 --- a/files/settings-default.cfg +++ b/files/settings-default.cfg @@ -496,4 +496,5 @@ actor shadows = false player shadows = false # Allow terrain to cast shadows. Potentially decreases performance. terrain shadows = false -# Note: Right now, there is no setting allowing toggling of shadows for statics +# Allow world objects to cast shadows. Potentially decreases performance. +object shadows = false