Скелетная анимация файлов DirectX в OpenGL

Я пытаюсь импортировать файлы * .x в мой движок и анимировать их с помощью OpenGL (пока без шейдеров, но сейчас это не совсем актуально). Я нашел ссылку на формат в MSDN, но это мало помогает в проблеме.

Итак - в основном - я создал файл, содержащий простую анимацию демоноподобного существа с 7 костями (основной, 2 для хвоста и 4 для ног), из которых только 2 (те, что в правой ноге) анимированы на данный момент. Я протестировал сетку в DXViewer, и она, кажется, отлично работает там, поэтому проблема должна быть в моем коде.

Когда я экспортирую сетку, я получаю файл, содержащий много информации, из которой есть 3 важных места для скелетной анимации (все приведенные ниже матрицы предназначены для кости RLeg2):

SkinWeights - matrixOffset

-0.361238,  -0.932141, -0.024957,  0.000000,
 0.081428,  -0.004872, -0.996669,  0.000000,
 0.928913,  -0.362066,  0.077663,  0.000000,
 0.139213,  -0.057892, -0.009323,  1.000000

FrameTransformMatrix

0.913144,  0.000000, -0.407637,  0.000000,
0.069999,  0.985146,  0.156804,  0.000000,
0.401582, -0.171719,  0.899580,  0.000000,
0.000000, -0.000000,  0.398344,  1.000000

Матрица AnimationKey в позе связывания

0.913144,  0.000000, -0.407637,  0.000000, 
0.069999,  0.985146,  0.156804,  0.000000,
0.401582, -0.171719,  0.899580,  0.000000,
0.000000, -0.000000,  0.398344,  1.000000

Мой вопрос -что мне делать с этими матрицами? Я нашел уравнение на сайте Университета Ньюкасла (http://research.ncl.ac.uk/game/mastersdegree/graphicsforgames/skeletalanimation/), но там только 1 матрица. Вопрос в том -как мне объединить эти матрицы, чтобы получить матрицу вершинного преобразования?

Ответы на вопрос(2)

Ваш ответ на вопрос