Hi Mark, Could you modify one of the OSG examples to recreate this issue, once I can recreate it at my end I'll be able to look into solve the bug.
Robert. On Thu, Dec 11, 2008 at 7:44 PM, Mark Sciabica <[email protected]> wrote: > I encountered some unexpected behavior when a Viewer is destroyed. When the > viewer is destructing, it destroys its contained camera, which removes > itself from its graphics context. During the removal process, the graphics > context calls releaseGLObjects on the camera's children, passing in the > GraphicsContext's _state member as a parameter. The problem is that at this > point, the state has been already been reset to zero so that > releaseGLObjects releases objects for ALL contextIDs. This will cause all > objects that are used in multiple contexts to reload whenever a Viewer > window is closed. This is potentially expensive and should be avoided if > possible. > > It appears that GraphicsContext::close already releases the GL objects from > the relevant cameras so it may be that this call is redundant. Perhaps > GraphicsContext::removeCamera can simply not call releaseGLObjects if it > does not have a valid _state object. This fix seems to work for my code, but > I'm using a modified version of osg that isn't dependent on cameras for > cleanup of OpenGL resources. > > > Mark > > _______________________________________________ > osg-users mailing list > [email protected] > http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org > _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

