On 07/06/2011 08:38 AM, Aitor Ardanza wrote:
I'm confused ... not sure if xna and osg use the same axes (xyz or xzy). getBoneMatrixFromKinectNuiControl give me a local rotation matrix, but do I need to change these to global? I know that in "pBoneUpdate.at (i) -> getStackedTransforms (). Push_back (new osgAnimation: StackedQuaternionElement ( "rotate" boneMatrices [i] -> getMatrix (). getRotate ()));" I have to apply a local array... but I guess I missed something, because the rotations are no goods in the model.
I haven't touched the Kinect SDK, so I don't know for sure, but I have worked with DirectX in the past, and the coordinate systems between DX and OpenGL are quite different.
Microsoft historically has used a left-handed coordinate system for all of its coordinate frames, while OpenGL, and hence OSG, is right-handed. Beyond this, there's also a good chance that the base coordinate systems at each joint aren't what you're expecting. The best approach would probably be to start with a simple one-joint model (if possible), and get that working properly first. Then, you can generalize that to the whole body.
Sorry I can't give you any specifics, but I thought I'd say something since there hadn't been any replies yet.
--"J" _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

