Hi Uli,

Am 02.05.10 11:09, schrieb Ulrich von Zadow:

> As an aside, I'm Uli, not Andreas, and - I believe we spent some time
> together at Art+Com :-).

Sorry for the wrong name, too much mulittasking on my end, you are
right, we spent some time together there :)


> This is the first call:
> 
> #0  0x00688bba in osgViewer::PixelBufferCarbon::closeImplementation ()
> #1  0x092a012f in osg::GraphicsContext::close ()
> #2  0x0066f910 in osgViewer::Viewer::~Viewer ()
> #3  0x08c65eb8 in avg::OSGNode::disconnect (this=0x1ef447d0,
> bKill=4098347009) at /usr/local/include/osg/Referenced:183
> 
> and this the second:
> 
> #0  0x00688bba in osgViewer::PixelBufferCarbon::closeImplementation ()
> #1  0x092a012f in osg::GraphicsContext::close () at
> function_template.hpp:1010
> #2  0x00688e23 in osgViewer::PixelBufferCarbon::~PixelBufferCarbon ()
> #3  0x0920e825 in osg::Referenced::unref () at function_template.hpp:1010
> #4  0x092049c0 in osg::ref_ptr<osg::GraphicsContext>::~ref_ptr () at
> function_template.hpp:1010
> #5  0x09201aff in osg::Camera::~Camera () at function_template.hpp:1010
> #6  0x08c65ed8 in avg::OSGNode::disconnect (this=0x1ef447d0,
> bKill=4098347009) at /usr/local/include/osg/Referenced:183
> 
> The setup looks like this: The context is created on a pbuffer, but this
> pbuffer is never rendered to and doesn't have  a camera. All rendering
> happens in an FBO. The camera in the second stack trace isn't attached
> to the pbuffer at all - it's rendering to the FBO.

AFAIK a camera needs a graphics context to do any open gl rendering. The
internals of osgViewer take care of this.

Maybe there's a bug in GraphicsContext::close where it calls
closeImplementation regardless of the state of the context.

PixelBufferCarbon is not tested that well, and after looking into the
other pbuffer-implementations i think you have to take into acount that
closeImplementation may be called more than once. I'll submit the patch
to osg-submission so it gets included in new versions of osg.

But be aware that the carbon backend is a dead end (deprecated by apple,
32bit only), the future is the new cocoa backend (which is IMHO also
part of 2.8.3)


cheers,
Stephan
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to