Hi,
I finally found that the problem is related with the display list of
drawables. When the viewer is delete all display list and gl context are
destroy but the drawable are still existing and keep a reference to the context
and the display list.
When we create the new viewer, we have new context and no displaylist. When
the drawable is add to the new rendering tree and the context and display list
reference exist in the display list (create by another drawable) exist, he use
it but the display list correspond to the display list of another drawable.
So we decide to recreate the drawable when the viewer is recreate.
We also observe when we destroy the viewer, we must destroy the camera of
the viewer before destroying the viewer itself. The problem is the viewer is
destroying context before destroying cameras. When the context are destroy,
they erase the display list cache. After when cameras are destroy they destroy
the remaining scene graph tree and destroy drawable that cannot remove the
display list from the context because the context are already erase the display
list cache.
This will not be a problem if context are really destroy. But when we
recreate the viewer, some old context are reuse with they old display list
inside them.
I'm not 100% certain of what append inside OSG but destroying the cameras
before the viewer solve my problem.
Thank you!
Cheers,
Sylvain
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=59023#59023
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org