diff --git a/src/osgUtil/CullVisitor.cpp b/src/osgUtil/CullVisitor.cpp index cd05c35de..da889bc18 100644 --- a/src/osgUtil/CullVisitor.cpp +++ b/src/osgUtil/CullVisitor.cpp @@ -1138,8 +1138,10 @@ void CullVisitor::apply(osg::Camera& camera) } + if (camera.getViewport()) pushViewport(camera.getViewport()); + pushProjectionMatrix(projection); - pushModelViewMatrix(modelview, camera.getReferenceFrame()); + pushModelViewMatrix(modelview, camera.getReferenceFrame()); if (camera.getRenderOrder()==osg::Camera::NESTED_RENDER) @@ -1273,6 +1275,8 @@ void CullVisitor::apply(osg::Camera& camera) // restore the previous model view matrix. popProjectionMatrix(); + if (camera.getViewport()) popViewport(); + // restore the previous cull settings setCullSettings(saved_cull_settings);