1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-03-03 22:19:40 +00:00

Make disabled shadow defines map static

This commit is contained in:
Capostrophic 2019-04-29 19:31:46 +03:00
parent 9f9b7cb0ae
commit 05d94d35f9
2 changed files with 6 additions and 9 deletions

View file

@ -11,6 +11,7 @@
#include <components/esm/cellref.hpp> #include <components/esm/cellref.hpp>
#include <components/resource/scenemanager.hpp> #include <components/resource/scenemanager.hpp>
#include <components/sceneutil/shadow.hpp>
#include <components/shader/shadermanager.hpp> #include <components/shader/shadermanager.hpp>
#include <components/vfs/manager.hpp> #include <components/vfs/manager.hpp>
#include <components/vfs/registerarchives.hpp> #include <components/vfs/registerarchives.hpp>
@ -77,15 +78,11 @@ CSMWorld::Data::Data (ToUTF8::FromType encoding, bool fsStrict, const Files::Pat
mResourceSystem.reset(new Resource::ResourceSystem(mVFS.get())); mResourceSystem.reset(new Resource::ResourceSystem(mVFS.get()));
Shader::ShaderManager::DefineMap defines = mResourceSystem->getSceneManager()->getShaderManager().getGlobalDefines(); Shader::ShaderManager::DefineMap defines = mResourceSystem->getSceneManager()->getShaderManager().getGlobalDefines();
Shader::ShaderManager::DefineMap shadowDefines = SceneUtil::ShadowManager::getShadowsDisabledDefines();
defines["forcePPL"] = "0"; defines["forcePPL"] = "0";
defines["clamp"] = "1"; defines["clamp"] = "1";
defines["shadows_enabled"] = "0"; for (const auto& define : shadowDefines)
defines["shadow_texture_unit_list"] = ""; defines[define.first] = define.second;
defines["shadowMapsOverlap"] = "0";
defines["useShadowDebugOverlay"] = "0";
defines["perspectiveShadowMaps"] = "0";
defines["disableNormalOffsetShadows"] = "0";
defines["shadowNormalOffset"] = "0.0";
mResourceSystem->getSceneManager()->getShaderManager().setGlobalDefines(defines); mResourceSystem->getSceneManager()->getShaderManager().setGlobalDefines(defines);
mResourceSystem->getSceneManager()->setShaderPath((resDir / "shaders").string()); mResourceSystem->getSceneManager()->setShaderPath((resDir / "shaders").string());

View file

@ -15,6 +15,8 @@ namespace SceneUtil
public: public:
static void disableShadowsForStateSet(osg::ref_ptr<osg::StateSet> stateSet); static void disableShadowsForStateSet(osg::ref_ptr<osg::StateSet> stateSet);
static Shader::ShaderManager::DefineMap getShadowsDisabledDefines();
ShadowManager(osg::ref_ptr<osg::Group> sceneRoot, osg::ref_ptr<osg::Group> rootNode, unsigned int outdoorShadowCastingMask, unsigned int indoorShadowCastingMask, Shader::ShaderManager &shaderManager); ShadowManager(osg::ref_ptr<osg::Group> sceneRoot, osg::ref_ptr<osg::Group> rootNode, unsigned int outdoorShadowCastingMask, unsigned int indoorShadowCastingMask, Shader::ShaderManager &shaderManager);
virtual ~ShadowManager() = default; virtual ~ShadowManager() = default;
@ -23,8 +25,6 @@ namespace SceneUtil
virtual Shader::ShaderManager::DefineMap getShadowDefines(); virtual Shader::ShaderManager::DefineMap getShadowDefines();
virtual Shader::ShaderManager::DefineMap getShadowsDisabledDefines();
virtual void enableIndoorMode(); virtual void enableIndoorMode();
virtual void enableOutdoorMode(); virtual void enableOutdoorMode();