Am 17.05.11 14:44, schrieb Fred Smith: > Hi Robert, > > I am a bit puzzled as the second problem I am having at the moment yields a > very different behavior when isolated out in a small repro. > > This time I get an assertion. > > Attached is a modified osggeometry.cpp file that triggers the assertion I'm > talking about. The assertion is raised when addSlave() is called. > > This issue might be by design, though. Not sure. > > > Code: > osg::Camera *createRTTCamera(osgViewer::Viewer& viewer) > { > osg::ref_ptr<osg::Camera> slaveCamera = new osg::Camera(); > > slaveCamera->setClearColor(osg::Vec4(0, 0, 0, 1)); // initialize alpha > to 1 > slaveCamera->setClearMask(GL_COLOR_BUFFER_BIT); > > osg::Matrixd projMatrix; > projMatrix.makeOrtho(0.0, (double)1, 0.0, (double)1, -1.0, 1.0); > slaveCamera->setProjectionMatrix(projMatrix); > > slaveCamera->setReferenceFrame(osg::Transform::ABSOLUTE_RF); > > osg::ref_ptr<osg::Viewport> viewport = new osg::Viewport(0, 0, 64, 64); > slaveCamera->setViewport(viewport.get()); > > osg::Matrixd viewMatrix; > slaveCamera->setViewMatrix(viewMatrix); > > slaveCamera->setRenderOrder(osg::Camera::PRE_RENDER); > slaveCamera->setAllowEventFocus(false); > > slaveCamera->setRenderTargetImplementation(osg::Camera::FRAME_BUFFER_OBJECT); > slaveCamera->setCullingMode(osg::CullSettings::NO_CULLING); > > osg::ref_ptr<osg::Camera> masterCamera = viewer.getCamera(); > slaveCamera->setGraphicsContext(masterCamera->getGraphicsContext()); > > return slaveCamera;
This will certainly lead to a crash, as slaveCamera gets deconstructed, as the correpsonding ref_ptr goes out of scope. Try return slaveCamera.release() or change the signature of the function to osg::ref_ptr<osg::Camera> createRTTCamera(osgViewer::Viewer& viewer) instead. Can't comment much on the memory-leak issue, though. cheers, Stephan _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org