Hi,

I'm trying to change my OGL code to OSG but I'm having really problems with
the transformations... I have 174 data files that each contains a cloud of
points, a vector3 with the translartion, and the matrix of rotation of each
cloud. So in OGL, i just do:

{
LoadFile( x++)                          //Loads a diferent file in each
iteration
glPushMatrix();
  glTranslate( x , y , z )
  glMultMatrixf( rotation );

  glBegin( GL_POINTS )
    ........
  glEnd();
glPopMatrix();
}


So in OSG first of all I try to do it with a <osg::Switch> but seems that
this node accumulate the transformations... is that right?? So what I
finally do is to attach a diferent node in  each iteration and detach the
previous one. But the real problem is that OSG is not doing the same as OGL.
I do this for each node:

{
  osg::Matrixf rotation;
  osg::Matrixf translation;
  osg::Matrixf result;

  rotation.set(   gridOrientation.get( 0 , 0 ) , gridOrientation.get( 0 , 1
) , gridOrientation.get( 0 , 2 ) , 0.0,
                      gridOrientation.get( 1 , 0 ) , gridOrientation.get( 1
, 1 ) , gridOrientation.get( 1 , 2 ) , 0.0,
                      gridOrientation.get( 2 , 0 ) , gridOrientation.get( 2
, 1 ) , gridOrientation.get( 2 , 2 ) , 0.0,
                      0.0f , 0.0f , 0.0f , 1.0f );
  translation.setTrans(  x , y , z );

  result = rotation * translation;

  osg::MatrixTransform *    transformation = new osg::MatrixTransform();

  transformation->addChild( gNode );
  transformation->setMatrix( result );
}


rotationOGL.makeRotate( osg::DegreesToRadians(90.0) , osg::Vec3d( 0.0 , 1.0
, 0.0 ));
transformationOGL->setMatrix(rotationOGL);
transformationOGL->addChild(m_root);
m_vViewer.setSceneData( transformationOGL );

m_root->addChild( transformation );

.....


What I'm doing wrong? I've tried a lot of combinations of creating rotation
, translation, result, but no one is the correct!! I think I'm doing
something wrong I cannot apreciate.


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

Reply via email to