Updated calling of master camera's update callback
This commit is contained in:
@@ -78,6 +78,8 @@ void Scene::frameAdvance()
|
||||
_frameStamp->setReferenceTime(osg::Timer::instance()->time_s());
|
||||
_frameStamp->setFrameNumber(_frameStamp->getFrameNumber()+1);
|
||||
|
||||
_updateVisitor->setTraversalNumber(_frameStamp->getFrameNumber());
|
||||
|
||||
// osg::notify(osg::NOTICE)<<"Frame rate = "<<1.0/(_frameStamp->getReferenceTime()-previousTime)<<std::endl;
|
||||
}
|
||||
|
||||
@@ -85,8 +87,6 @@ void Scene::frameUpdateTraversal()
|
||||
{
|
||||
if (!getSceneData()) return;
|
||||
|
||||
_updateVisitor->setTraversalNumber(_frameStamp->getFrameNumber());
|
||||
|
||||
getSceneData()->accept(*_updateVisitor);
|
||||
|
||||
if (_databasePager.valid())
|
||||
|
||||
@@ -2056,6 +2056,17 @@ void Viewer::updateTraversal()
|
||||
|
||||
double beginUpdateTraversal = osg::Timer::instance()->delta_s(_startTick, osg::Timer::instance()->tick());
|
||||
|
||||
osgUtil::UpdateVisitor* uv = _scene.valid() ? _scene->getUpdateVisitor() : 0;
|
||||
|
||||
if (_camera.valid() && _camera->getUpdateCallback() && uv)
|
||||
{
|
||||
osg::NodeVisitor::TraversalMode tm = uv->getTraversalMode();
|
||||
uv->setTraversalMode(osg::NodeVisitor::TRAVERSE_NONE);
|
||||
_camera->accept(*uv);
|
||||
uv->setTraversalMode(tm);
|
||||
|
||||
}
|
||||
|
||||
if (_scene.valid()) _scene->frameUpdateTraversal();
|
||||
|
||||
if (_cameraManipulator.valid())
|
||||
|
||||
Reference in New Issue
Block a user