mirror of
https://github.com/OpenMW/openmw.git
synced 2025-12-14 02:13:41 +00:00
Merge branch 'optimizer' into 'master'
Optimizer-related fixes See merge request OpenMW/openmw!1744
This commit is contained in:
commit
8d3d01902a
2 changed files with 5 additions and 9 deletions
|
|
@ -517,13 +517,6 @@ namespace NifOsg
|
||||||
if (!node)
|
if (!node)
|
||||||
node = new NifOsg::MatrixTransform(nifNode->trafo);
|
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);
|
node->setDataVariance(dataVariance);
|
||||||
|
|
||||||
return node;
|
return node;
|
||||||
|
|
@ -639,6 +632,9 @@ namespace NifOsg
|
||||||
node->setNodeMask(Loader::getHiddenNodeMask());
|
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;
|
osg::ref_ptr<SceneUtil::CompositeStateSetUpdater> composite = new SceneUtil::CompositeStateSetUpdater;
|
||||||
|
|
||||||
applyNodeProperties(nifNode, node, composite, imageManager, boundTextures, animflags);
|
applyNodeProperties(nifNode, node, composite, imageManager, boundTextures, animflags);
|
||||||
|
|
|
||||||
|
|
@ -1935,8 +1935,8 @@ bool Optimizer::MergeGroupsVisitor::isOperationPermissible(osg::Group& node)
|
||||||
return !node.getCullCallback() &&
|
return !node.getCullCallback() &&
|
||||||
!node.getEventCallback() &&
|
!node.getEventCallback() &&
|
||||||
!node.getUpdateCallback() &&
|
!node.getUpdateCallback() &&
|
||||||
isOperationPermissibleForObject(&node) &&
|
typeid(node)==typeid(osg::Group) &&
|
||||||
typeid(node)==typeid(osg::Group);
|
isOperationPermissibleForObject(&node);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Optimizer::MergeGroupsVisitor::apply(osg::LOD &lod)
|
void Optimizer::MergeGroupsVisitor::apply(osg::LOD &lod)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue