1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-02-22 13:09:41 +00:00

Move setting of colorMode to ShaderRequirements in case they're reused

This commit is contained in:
AnyOldName3 2018-10-18 16:00:51 +01:00
parent 85b97d19d3
commit a41ce42208
2 changed files with 6 additions and 1 deletions

View file

@ -23,6 +23,7 @@ namespace Shader
ShaderVisitor::ShaderRequirements::ShaderRequirements() ShaderVisitor::ShaderRequirements::ShaderRequirements()
: mShaderRequired(false) : mShaderRequired(false)
, mColorMode(2)
, mMaterialOverridden(false) , mMaterialOverridden(false)
, mNormalHeight(false) , mNormalHeight(false)
, mTexStageRequiringTangents(-1) , mTexStageRequiringTangents(-1)
@ -257,7 +258,7 @@ namespace Shader
break; break;
} }
writableStateSet->addUniform(new osg::Uniform("colorMode", colorMode)); mRequirements.back().mColorMode = colorMode;
} }
} }
} }
@ -303,6 +304,8 @@ namespace Shader
defineMap["parallax"] = reqs.mNormalHeight ? "1" : "0"; defineMap["parallax"] = reqs.mNormalHeight ? "1" : "0";
writableStateSet->addUniform(new osg::Uniform("colorMode", reqs.mColorMode));
osg::ref_ptr<osg::Shader> vertexShader (mShaderManager.getShader(mDefaultVsTemplate, defineMap, osg::Shader::VERTEX)); osg::ref_ptr<osg::Shader> vertexShader (mShaderManager.getShader(mDefaultVsTemplate, defineMap, osg::Shader::VERTEX));
osg::ref_ptr<osg::Shader> fragmentShader (mShaderManager.getShader(mDefaultFsTemplate, defineMap, osg::Shader::FRAGMENT)); osg::ref_ptr<osg::Shader> fragmentShader (mShaderManager.getShader(mDefaultFsTemplate, defineMap, osg::Shader::FRAGMENT));

View file

@ -81,6 +81,8 @@ namespace Shader
bool mShaderRequired; bool mShaderRequired;
int mColorMode;
bool mMaterialOverridden; bool mMaterialOverridden;
bool mNormalHeight; // true if normal map has height info in alpha channel bool mNormalHeight; // true if normal map has height info in alpha channel