From d351bad121e0d839d3fa443412fd50605419b93d Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Thu, 8 Aug 2002 13:41:18 +0000 Subject: [PATCH] Fixed bug related to switching on/off culling modes. Patch from Nikolaus Hanekamp. --- src/osg/CullStack.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/osg/CullStack.cpp b/src/osg/CullStack.cpp index c200bec1c..87edc213e 100644 --- a/src/osg/CullStack.cpp +++ b/src/osg/CullStack.cpp @@ -127,6 +127,13 @@ void CullStack::pushProjectionMatrix(Matrix* matrix) cullingSet->getFrustum().setToUnitFrustum(((_cullingMode&NEAR_PLANE_CULLING)!=0),((_cullingMode&FAR_PLANE_CULLING)!=0)); cullingSet->getFrustum().transformProvidingInverse(*matrix); + // set the culling mask ( There should be a more elegant way!) Nikolaus H. + osg::CullingSet::Mask mask = 0; + if( _cullingMode&VIEW_FRUSTUM_CULLING) mask |= osg::CullingSet::VIEW_FRUSTUM_CULLING; + if( _cullingMode&SMALL_FEATURE_CULLING) mask |= osg::CullingSet::SMALL_FEATURE_CULLING; + if( _cullingMode&SHADOW_OCCLUSION_CULLING) mask |= osg::CullingSet::SHADOW_OCCLUSION_CULLING; + cullingSet->setCullingMask(mask); + // set the small feature culling. cullingSet->setSmallFeatureCullingPixelSize(_smallFeatureCullingPixelSize);