From 85b3c4b1799e044336c462815e762aa84b8ba5de Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Tue, 22 Nov 2005 10:26:27 +0000 Subject: [PATCH] Added check against LODScale being zero, and fixed the search for the maximum LOD range in the pixel size range fallback. --- src/osg/LOD.cpp | 4 ++-- src/osg/PagedLOD.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/osg/LOD.cpp b/src/osg/LOD.cpp index 2f31c24e0..0d3111b1d 100644 --- a/src/osg/LOD.cpp +++ b/src/osg/LOD.cpp @@ -52,7 +52,7 @@ void LOD::traverse(NodeVisitor& nv) else { osg::CullStack* cullStack = dynamic_cast(&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); } } } diff --git a/src/osg/PagedLOD.cpp b/src/osg/PagedLOD.cpp index ac4e399fc..a27781664 100644 --- a/src/osg/PagedLOD.cpp +++ b/src/osg/PagedLOD.cpp @@ -124,7 +124,7 @@ void PagedLOD::traverse(NodeVisitor& nv) else { osg::CullStack* cullStack = dynamic_cast(&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); } } }