mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-21 12:23:51 +00:00
Correct behaviour of use front face culling setting to not use back face culling either when disabled.
This commit is contained in:
parent
cfe921fb82
commit
15547750ba
1 changed files with 9 additions and 5 deletions
|
@ -849,7 +849,7 @@ void SceneUtil::MWShadowTechnique::disableFrontFaceCulling()
|
|||
_useFrontFaceCulling = false;
|
||||
|
||||
if (_shadowCastingStateSet)
|
||||
_shadowCastingStateSet->removeAttribute(osg::StateAttribute::CULLFACE);
|
||||
_shadowCastingStateSet->setMode(GL_CULL_FACE, osg::StateAttribute::OFF | osg::StateAttribute::OVERRIDE);
|
||||
}
|
||||
|
||||
void SceneUtil::MWShadowTechnique::setupCastingShader(Shader::ShaderManager & shaderManager)
|
||||
|
@ -1462,12 +1462,16 @@ void MWShadowTechnique::createShaders()
|
|||
// In this case we will draw them in their entirety.
|
||||
|
||||
if (_useFrontFaceCulling)
|
||||
{
|
||||
_shadowCastingStateSet->setAttribute(new osg::CullFace(osg::CullFace::FRONT), osg::StateAttribute::ON | osg::StateAttribute::OVERRIDE);
|
||||
|
||||
// make sure GL_CULL_FACE is off by default
|
||||
// we assume that if object has cull face attribute set to back
|
||||
// it will also set cull face mode ON so no need for override
|
||||
_shadowCastingStateSet->setMode( GL_CULL_FACE, osg::StateAttribute::OFF );
|
||||
// make sure GL_CULL_FACE is off by default
|
||||
// we assume that if object has cull face attribute set to back
|
||||
// it will also set cull face mode ON so no need for override
|
||||
_shadowCastingStateSet->setMode(GL_CULL_FACE, osg::StateAttribute::OFF);
|
||||
}
|
||||
else
|
||||
_shadowCastingStateSet->setMode(GL_CULL_FACE, osg::StateAttribute::OFF | osg::StateAttribute::OVERRIDE);
|
||||
}
|
||||
|
||||
_polygonOffset = new osg::PolygonOffset(_polygonOffsetFactor, _polygonOffsetUnits);
|
||||
|
|
Loading…
Reference in a new issue