From 553db68bc4ae62004f1a6f6b38fe834892d3b194 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Wed, 22 May 2002 12:01:12 +0000 Subject: [PATCH] Added osgUtil::CullVisitor::getCurentRenderGraph() and getRootRenderGraph() methods which replace getRenderGraph(). Small changing of order of push/pop of StateSet's in SceneView to clean things up. --- include/osgUtil/CullVisitor | 7 ++++++- src/osgUtil/SceneView.cpp | 5 +++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/include/osgUtil/CullVisitor b/include/osgUtil/CullVisitor index d4d1a0631..d144e5e04 100644 --- a/include/osgUtil/CullVisitor +++ b/include/osgUtil/CullVisitor @@ -185,11 +185,16 @@ class OSGUTIL_EXPORT CullVisitor : public osg::NodeVisitor _currentRenderGraph = rg; } - inline RenderGraph* getRenderGraph() + inline RenderGraph* getRootRenderGraph() { return _rootRenderGraph.get(); } + inline RenderGraph* getCurrentRenderGraph() + { + return _currentRenderGraph; + } + inline void setRenderStage(RenderStage* rg) { _rootRenderStage = rg; diff --git a/src/osgUtil/SceneView.cpp b/src/osgUtil/SceneView.cpp index 0f9913ede..072dd8065 100644 --- a/src/osgUtil/SceneView.cpp +++ b/src/osgUtil/SceneView.cpp @@ -358,12 +358,12 @@ void SceneView::cullStage(osg::Matrix* projection,osg::Matrix* modelview,osgUtil // traverse the scene graph to generate the rendergraph. _sceneData->accept(*cullVisitor); - if (_globalState.valid()) cullVisitor->popStateSet(); - cullVisitor->popModelViewMatrix(); cullVisitor->popProjectionMatrix(); cullVisitor->popViewport(); + if (_globalState.valid()) cullVisitor->popStateSet(); + const osg::EarthSky* earthSky = cullVisitor->getEarthSky(); if (earthSky) @@ -520,6 +520,7 @@ void SceneView::draw() default: { osg::notify(osg::NOTICE)<<"Warning: stereo camera mode not implemented yet."<< std::endl; + _globalState->setAttribute(_viewport.get()); drawStage(_renderStageLeft.get()); } break;