1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-07-04 21:11:35 +00:00

Merge branch 'optimizer' into 'master'

Optimizer-related fixes

See merge request OpenMW/openmw!1744
This commit is contained in:
psi29a 2022-04-06 23:00:17 +00:00
commit 8d3d01902a
2 changed files with 5 additions and 9 deletions

View file

@ -517,13 +517,6 @@ namespace NifOsg
if (!node)
node = new NifOsg::MatrixTransform(nifNode->trafo);
if (nifNode->recType == Nif::RC_NiCollisionSwitch && !(nifNode->flags & Nif::NiNode::Flag_ActiveCollision))
{
node->setNodeMask(Loader::getIntersectionDisabledNodeMask());
// This node must not be combined with another node.
dataVariance = osg::Object::DYNAMIC;
}
node->setDataVariance(dataVariance);
return node;
@ -639,6 +632,9 @@ namespace NifOsg
node->setNodeMask(Loader::getHiddenNodeMask());
}
if (nifNode->recType == Nif::RC_NiCollisionSwitch && !(nifNode->flags & Nif::NiNode::Flag_ActiveCollision))
node->setNodeMask(Loader::getIntersectionDisabledNodeMask());
osg::ref_ptr<SceneUtil::CompositeStateSetUpdater> composite = new SceneUtil::CompositeStateSetUpdater;
applyNodeProperties(nifNode, node, composite, imageManager, boundTextures, animflags);

View file

@ -1935,8 +1935,8 @@ bool Optimizer::MergeGroupsVisitor::isOperationPermissible(osg::Group& node)
return !node.getCullCallback() &&
!node.getEventCallback() &&
!node.getUpdateCallback() &&
isOperationPermissibleForObject(&node) &&
typeid(node)==typeid(osg::Group);
typeid(node)==typeid(osg::Group) &&
isOperationPermissibleForObject(&node);
}
void Optimizer::MergeGroupsVisitor::apply(osg::LOD &lod)