Jump to content

  • Log In with Google      Sign In   
  • Create Account


OpenNI to Directx matrices problem


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
No replies to this topic

#1 Posedoll   Members   -  Reputation: 101

Like
0Likes
Like

Posted 31 October 2012 - 05:10 AM

Hi,

I'm having serious problems converting the orientation matrix from OpenNi to a Direct3D matrix.

I'm using my own format for the 3D model and the skeleton and I'm also using just a plain box just to see if it woks independently from the character. It does not.

I am as now just rotating shoulder in order to isolate the problem.

Standing in T-Pose works ok.
Putting arms forward works ok.
Moving arms up and down with arms in front of me works ok.
However when I move arms up and down the arms rotate instead.

What could be the problem?

[source lang="cpp"]GetLimbOrientation(&Pos, &Ori, limbid, 0);D3DXMatrixIdentity(&DxMat);DxMat._11 = Ori[0];DxMat._21 = -Ori[3];DxMat._31 = Ori[6];DxMat._12 = -Ori[1];DxMat._22 = Ori[4];DxMat._32 = -Ori[7];DxMat._13 = Ori[2];DxMat._23 = -Ori[5];DxMat._33 = Ori[8];[/source]

I got the minuses from the "Sinbad" sample that is made for Ogre, It works even worse without them.

As I understand it, the difference between an Ogre-matrix and a D3DXMatrix is that the later one is just a transposed Ogre-matrix but I still can't get it to work.

Can anyone please help me?

Sponsor:



Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS