Commit Graph

17 Commits

Author SHA1 Message Date
Robert Osfield
d9c1f45231 From Wang Rui, "I've made a small fix to osgViewer/Scene.cpp, which is already attached. I would like to explain what I've done and why.
In Scene::updateSceneGraph(), change:

if (getSceneData())
{
        updateVisitor.setImageRequestHandler(getImagePager());
        getSceneData()->accept(updateVisitor);
}
if (getDatabasePager())
{
        // synchronize changes required by the DatabasePager thread to the scene graph
        getDatabasePager()->updateSceneGraph((*updateVisitor.getFrameStamp()));
}

to

if (getDatabasePager())
{
        // synchronize changes required by the DatabasePager thread to the scene graph
        getDatabasePager()->updateSceneGraph((*updateVisitor.getFrameStamp()));
}
if (getSceneData())
{
        updateVisitor.setImageRequestHandler(getImagePager());
        getSceneData()->accept(updateVisitor);
}

That is, just swap the positions of two 'if () {...}' segments.

While working on a paged terrain, I need to collect every newly allocated PagedLODs and make them temporarily unrenderable in the next frame, which are all done in a update callback. But I found that these PagedLODs will always be shown before collecting them, because of the unsuitable sequence in Scene::updateSceneGraph(). DatabasePager is synchronized AFTER the user updating traversal, that is, user cannot IMMEDIATELY find out changes made by DatabasePager.
 "
2009-11-20 14:39:15 +00:00
Robert Osfield
df9385ac19 Moved the updating and expiry of the Registry object cache from DatabasePager into osgViewer::Viewer/CompositeViewer. 2009-08-05 11:06:53 +00:00
Robert Osfield
d12708e6f6 First cut of osgDB::ImagePager for updating osg::ImageSequence 2008-07-21 09:47:39 +00:00
Robert Osfield
da70320707 From David Callu, added getOrCreateScene method, made contractors protected.
From Robert Osfield, made getOrCreateScene protected and made View a friend
of Scene to all it to construct Scene objects itself.
2007-09-22 16:50:45 +00:00
Robert Osfield
7366daca91 Refactored the way the Scene is used in Viewer and CompositeViewer to ensure
that only on Scene exists per scene graph.
2007-08-10 10:52:35 +00:00
Robert Osfield
e3b7b2f617 Added new statc prototype() and create() methods to CullVisitor and DatabasePager to allow overriding of the default implementations 2007-08-08 08:10:38 +00:00
Robert Osfield
784383ac08 Added camera event callback support into osgViewer 2007-05-27 17:29:29 +00:00
Robert Osfield
a49ec6e78d Updated calling of master camera's update callback 2007-05-27 15:24:41 +00:00
Robert Osfield
b06dbda224 Added FramStamp into osgViewer::Viewer and added ability to handle setSceneData
during during the application running.
2007-01-15 14:46:16 +00:00
Robert Osfield
0d8efac569 Added setting of the update visitors' traversal number 2007-01-15 09:30:48 +00:00
Robert Osfield
4954262eb0 Added View::computeIntersection implementation for a node withing a scene graph. 2007-01-10 10:09:05 +00:00
Robert Osfield
96b2b93edc Build fixes 2007-01-08 22:54:02 +00:00
Robert Osfield
6a74240d22 Various tweaks to keep in sync with new changes to osg::Timer and osgGA::EventQueue 2006-12-26 17:38:47 +00:00
Robert Osfield
bd6b7d581e Implemented perliminary multi-threading support in osgViewer::Viewer 2006-12-22 17:46:21 +00:00
Robert Osfield
4fc9af7ea0 Moved rendering support into GraphisContext, osgViewer::Viewer/View, and
added frame stamp updating and update traversal to osgViewer::Scene/Viewer.

Updated osgcamera example to use new Viewer API calls instead of using local
rendering calls.
2006-12-21 16:56:20 +00:00
Robert Osfield
dcebe4daa0 Added initial GraphicsWindowX11 implementation, and fleshed out more of the
osgViewer and osg::GraphicsContext/osg::View infrastructure.
2006-12-19 16:00:51 +00:00
Robert Osfield
fd2ffeb310 Renamed osg::CameraNode to osg::Camera, cleaned up osg::View.
Added beginnings of new osgViewer::Scene,View,Viewer,CompositeViewer and GraphicsWindowProxy files.
2006-11-27 14:52:07 +00:00