Thanks Paul and Ulrich
It works fine now. I have some issue to discuss about Callbacks With callbacks we dynamically modify the node during the update traversal.So any node that has already gone through some affine transformation will be replaced in the call backs, but not concatenated. On the other hand if we specify any affine trnasformation after calling the callback, the last transformation will be concatenated to the one that have been assigned durng callbacks. And that happens to any type of dynamic transformation , not only with the affine one. Please correct me if i misunderstood the concept. Regards Sajjad ---------- Forwarded message ---------- From: Ulrich Hertlein <[email protected]> Date: Sat, Mar 28, 2009 at 12:24 AM Subject: Re: [osg-users] CallBack issue To: OpenSceneGraph Users <[email protected]> Hello Ami, On 28/3/09 8:50 AM, ami guru wrote: > virtual void operator()(osg::Node *node, > osg::NodeVisitor *nv) > { > osg::Matrix mR; > mR.makeRotate(m_angle, osg::Vec3(0.0f,0.0f,1.0f)); > > mtLeft->setMatrix(mR); > ... > > osg::Vec3f teapotTransVec = osg::Vec3f(5,2,-12); > osg::Vec3f teapotScaleVec = osg::Vec3f(20.1f,20.1f,20.1f); > teapotTransMat.makeTranslate(teapotTransVec); > teapotScaleMat.makeScale(teapotScaleVec); > > teapotPos->setMatrix(teapotTransMat * teapotScaleMat); > You're originally including a scaling transform in the Matrix. The Callback operator replaces this with only a rotation matrix i.e. the scaling part is lost hence the object looks smaller. Cheers, /ulrich _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

