Hi all,

I have a similar problem than
http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/2008-June/012275.htmlbut
I did not succed to solve the problem...

This is the whole problem :

I've done a manipulator (matrix manipulator), which permit to make the
camera follow a node.
The node is moved by an UpdateCallback on a other node.
The manipulator's camera position is computed in a _frame() method :

bool MyManipulator::handle(const osgGA::GUIEventAdapter& ea,
> osgGA::GUIActionAdapter& us){
> [...]
> case(osgGA::GUIEventAdapter::FRAME):
>             _frame();
> [...]
> }


In the frame method, I get the world position of the node, and set the
camera's position doing something like this :

osg::Matrixd MyManipulator::getInverseMatrix() const{
>         return
> osg::Matrixd::translate(_eye+_vCorrectionGoto)*osg::Matrixd::rotate((_rotation).inverse());
> }
>

with eye = eye + node_translation

my render loop is :

while(!pViewer->done() && !masterKilled )
>          {
>              pViewer->advance();
>              pViewer->eventTraversal();
>              pViewer->updateTraversal();
>
>              actionBetweenFrames(contextID); //just update some node in the
> scene graph (switch add and remove child)
>              pViewer->renderingTraversals();
>           }
>

But when I put the camera behind a node, the camera is shaking in the axis
translation (not allong Z axis when node is moving in XY plane)... It looks
something must un-synchronized...

Any idea ?

thanks.

Regards,

Vincent
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to