Hi Robert, I didn't understand your answer.

I use OSG 3.0.1 but I tried with 3.4.0.-rc8 and the behavior is the same. 
Moreover updateTraversal() of CompositeViewer is basically the same for these 
versions.
Anyway we are probably talking of a slightly different scenario: I have a slave 
camera which update callback needs an up to date viewer master camera's view 
matrix. In this case, as you told me, since the master camera matrix is updated 
(with the inverse matrix of the manipulator) after the slave camera update 
callback, then the value is that of the previous frame. I can understand and 
the reason is in CompositeViewer::updateTraversal() because the for loop "// Do 
UpdateTraversal for slaves with their own subgraph" is done before 
"view->getCameraManipulator()->updateCamera(*(view->getCamera()));".
So, to make scenarios like mine working, my suggestion is to move:


Code:

            // Do UpdateTraversal for slaves with their own subgraph
            for(unsigned int i=0; i<view->getNumSlaves(); ++i)
            {
                osg::View::Slave& slave = view->getSlave(i);
                osg::Camera* camera = slave._camera.get();
                if(camera && !slave._useMastersSceneData)
                {
                    camera->accept(*_updateVisitor);
                }
            }




after


Code:

        if (view->getCameraManipulator())
        {
            view->setFusionDistance( 
view->getCameraManipulator()->getFusionDistanceMode(),
                                    
view->getCameraManipulator()->getFusionDistanceValue() );

            view->getCameraManipulator()->updateCamera(*(view->getCamera()));

        }




I tried this solution and it works fine.
With this modification the scene remains updated before the main camera, so 
nothing you already told me should be broken.
Moreover the for loop to move down is related to slave cameras with thier own 
subgraph.

Regards,
Gianni[/code]

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=64634#64634





_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to