Re: [osg-users] Camera shaking

2008-07-09 Thread Vincent Bourdier
I found one solution :

after verifications the sequence is :
 * viewer-advance()
 * manipulator-_frame() : compute camera position
 * viewer-event()
 * callback : node moving
 * manipulator-getinversematrix : set camera position
 * ...

so the position of the camera is computed before node is moved...

To solve it, I just add a _frame() call just before the
manipulator-getInverseMatrix...

If anyone have the same problem, it can be the solution.

If anyone have a better idea, I am always curious to know it.

Thanks,

Regards,
Vincent.

2008/7/9 Vincent Bourdier [EMAIL PROTECTED]:

 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


Re: [osg-users] Camera shaking

2008-07-09 Thread Per Nordqvist
Hi Vincent,

Just a guess:
You may want to doublecheck that actionBetweenFrames is not switching
the node which contains the update callback. That could cause all kinds
of shaking.

Regards,

/Per

2008/7/9 Vincent Bourdier [EMAIL PROTECTED]:
 Hi all,

 I have a similar problem than
 http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/2008-June/012275.html
 but 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


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