From 16216b991f264ce2ec2586a6d1c025dcbbafc1ac Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Wed, 24 Sep 2003 18:54:28 +0000 Subject: [PATCH] Added a local osg::State to the pbuffer implementation. --- examples/osgpbuffer/RenderToTextureStage.cpp | 3 ++- examples/osgpbuffer/RenderToTextureStage.h | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/examples/osgpbuffer/RenderToTextureStage.cpp b/examples/osgpbuffer/RenderToTextureStage.cpp index 219342926..573170cdf 100644 --- a/examples/osgpbuffer/RenderToTextureStage.cpp +++ b/examples/osgpbuffer/RenderToTextureStage.cpp @@ -12,6 +12,7 @@ MyRenderToTextureStage::MyRenderToTextureStage() { _pbuffer = 0L; + _localState = new osg::State; } MyRenderToTextureStage::~MyRenderToTextureStage() @@ -46,7 +47,7 @@ void MyRenderToTextureStage::draw(osg::State& state, osgUtil::RenderLeaf*& previ _pbuffer->makeCurrent(); // Render in p-buffer. - RenderStage::draw(state,previous); + RenderStage::draw(*_localState,previous); // restore window's context as current. if (!::wglMakeCurrent(hdc, hglrc)) diff --git a/examples/osgpbuffer/RenderToTextureStage.h b/examples/osgpbuffer/RenderToTextureStage.h index 8816eb663..e9ddfbcb3 100644 --- a/examples/osgpbuffer/RenderToTextureStage.h +++ b/examples/osgpbuffer/RenderToTextureStage.h @@ -6,6 +6,7 @@ #define RENDERTOTEXTURESTAGE 1 #include +#include #include @@ -49,9 +50,10 @@ class /*OSGUTIL_EXPORT*/ MyRenderToTextureStage : public osgUtil::RenderStage virtual ~MyRenderToTextureStage(); - osg::ref_ptr _texture; - osg::ref_ptr _image; - PBuffer* _pbuffer; + osg::ref_ptr _texture; + osg::ref_ptr _image; + osg::ref_ptr _localState; + PBuffer* _pbuffer; }; // }