diff --git a/apps/opencs/model/world/data.cpp b/apps/opencs/model/world/data.cpp index c22f3e220..bc630806a 100644 --- a/apps/opencs/model/world/data.cpp +++ b/apps/opencs/model/world/data.cpp @@ -11,6 +11,7 @@ #include #include +#include #include #include #include @@ -77,15 +78,11 @@ CSMWorld::Data::Data (ToUTF8::FromType encoding, bool fsStrict, const Files::Pat mResourceSystem.reset(new Resource::ResourceSystem(mVFS.get())); Shader::ShaderManager::DefineMap defines = mResourceSystem->getSceneManager()->getShaderManager().getGlobalDefines(); + Shader::ShaderManager::DefineMap shadowDefines = SceneUtil::ShadowManager::getShadowsDisabledDefines(); defines["forcePPL"] = "0"; defines["clamp"] = "1"; - defines["shadows_enabled"] = "0"; - defines["shadow_texture_unit_list"] = ""; - defines["shadowMapsOverlap"] = "0"; - defines["useShadowDebugOverlay"] = "0"; - defines["perspectiveShadowMaps"] = "0"; - defines["disableNormalOffsetShadows"] = "0"; - defines["shadowNormalOffset"] = "0.0"; + for (const auto& define : shadowDefines) + defines[define.first] = define.second; mResourceSystem->getSceneManager()->getShaderManager().setGlobalDefines(defines); mResourceSystem->getSceneManager()->setShaderPath((resDir / "shaders").string()); diff --git a/components/sceneutil/shadow.hpp b/components/sceneutil/shadow.hpp index 24deff253..928de4543 100644 --- a/components/sceneutil/shadow.hpp +++ b/components/sceneutil/shadow.hpp @@ -15,6 +15,8 @@ namespace SceneUtil public: static void disableShadowsForStateSet(osg::ref_ptr stateSet); + static Shader::ShaderManager::DefineMap getShadowsDisabledDefines(); + ShadowManager(osg::ref_ptr sceneRoot, osg::ref_ptr rootNode, unsigned int outdoorShadowCastingMask, unsigned int indoorShadowCastingMask, Shader::ShaderManager &shaderManager); virtual ~ShadowManager() = default; @@ -23,8 +25,6 @@ namespace SceneUtil virtual Shader::ShaderManager::DefineMap getShadowDefines(); - virtual Shader::ShaderManager::DefineMap getShadowsDisabledDefines(); - virtual void enableIndoorMode(); virtual void enableOutdoorMode();