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

Reply via email to