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
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to