<div dir="ltr"><div><div><div>Hi Sophie,<br><br></div>Are you simply looking to load databases in a background thread whilst the main thread and rendering threads get on with update, culling and rendering the scene?<br><br></div>The OSG has an database paging class call osgDB::DatabasePager that is built into the osgViewer::Viewer/CompositeViewer that will automatically load databases and merge them with the main scene graph during the update traversal.  This is built around the osg::PagedLOD class, but you can also use the osg::ProxyNode.<br><br></div><div>Robert.<br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 14 April 2015 at 08:57, Sophie Audonneau <span dir="ltr"><<a href="mailto:sophie.audonneau1@etu.univ-lorraine.fr" target="_blank">sophie.audonneau1@etu.univ-lorraine.fr</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I work on a project for witch I need to remove/add nodes while OpenSceneGraph is rendering.<br>
I created a rendering window with OpenScenegraph and then I would like to be able to load/unload objects in it.<br>
I make the calls for OSG frame() function inside a draw function and I use a singleton to manage the creation of the viewer. That way I managed to have a single viewer and then load my OpenSceneGraph objects inside that same viewer.<br>
It seems fine but the problem is that I have to set camera and viewer parameters each time I call frame(). If I don't nothing is displayed, except OSG font colour.<br>
Ideally I would like to set the viewer parameters only when I load an OSG object for the first time.<br>
<br>
Currently when I load an OSG object I use my singleton to find the viewer and to add the loaded node to the root associated to my viewer.<br>
instance()->find_or_create_viewer(); //creates a viewer if none have been created yet<br>
instance()->addChild(loadedNode);<br>
viewer_ = instance()->viewer(); // return a pointer to the unique osgViewer::Viewer<br>
<br>
In my draw function I have to do the following :<br>
viewer_->setUpViewerAsEmbeddedInWindow(viewParams[0],viewParams[1],viewParams[2] ,viewParams[3]);<br>
viewer_->getCamera()->setProjectionMatrix( osg::Matrix(glMat_projection) );<br>
viewer_->getCamera()->setViewMatrix( osg::Matrix(glMat_modelview) );<br>
viewer_->frame();<br>
<br>
I have read that for dynamical rendering there was something to do about object's variance so I tried a few things but I didn't find how to solve my problem.<br>
<br>
Thank you!<br>
<br>
Cheers,<br>
Sophie<br>
<br>
------------------<br>
Read this topic online here:<br>
<a href="http://forum.openscenegraph.org/viewtopic.php?p=63377#63377" target="_blank">http://forum.openscenegraph.org/viewtopic.php?p=63377#63377</a><br>
<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
osg-users mailing list<br>
<a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a><br>
<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" target="_blank">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a><br>
</blockquote></div><br></div>