Added check against LODScale being zero, and fixed the search for the maximum

LOD range in the pixel size range fallback.
This commit is contained in:
Robert Osfield
2005-11-22 10:26:27 +00:00
parent 611e49b736
commit 85b3c4b179
2 changed files with 4 additions and 4 deletions

View File

@@ -52,7 +52,7 @@ void LOD::traverse(NodeVisitor& nv)
else
{
osg::CullStack* cullStack = dynamic_cast<osg::CullStack*>(&nv);
if (cullStack)
if (cullStack && cullStack->getLODScale())
{
required_range = cullStack->clampedPixelSize(getBound()) / cullStack->getLODScale();
}
@@ -62,7 +62,7 @@ void LOD::traverse(NodeVisitor& nv)
// finding out the max range
for(unsigned int i=0;i<_rangeList.size();++i)
{
required_range = osg::minimum(required_range,_rangeList[i].first);
required_range = osg::maximum(required_range,_rangeList[i].first);
}
}
}

View File

@@ -124,7 +124,7 @@ void PagedLOD::traverse(NodeVisitor& nv)
else
{
osg::CullStack* cullStack = dynamic_cast<osg::CullStack*>(&nv);
if (cullStack)
if (cullStack && cullStack->getLODScale()>0.0f)
{
required_range = cullStack->clampedPixelSize(getBound()) / cullStack->getLODScale();
}
@@ -134,7 +134,7 @@ void PagedLOD::traverse(NodeVisitor& nv)
// finding out the max range
for(unsigned int i=0;i<_rangeList.size();++i)
{
required_range = osg::minimum(required_range,_rangeList[i].first);
required_range = osg::maximum(required_range,_rangeList[i].first);
}
}
}