Animación esquelética de archivos DirectX en OpenGL

Estoy intentando importar archivos * .x a mi motor y animarlos usando OpenGL (por ahora, sin sombreadores, pero eso no es realmente relevante en este momento). He encontrado la referencia del formato en MSDN, pero no ayuda mucho en el problema.

Así que, básicamente, he creado un archivo que contiene una animación simple de un ser parecido a un demonio con 7 huesos (principal, 2 para la cola y 4 para las piernas), de los cuales solo 2 (los de la pierna derecha) Se animan en este momento. He probado la malla en el DXViewer, y parece funcionar perfectamente allí, por lo que el problema debe ser el lado de mi código.

Cuando exporto la malla, obtengo un archivo que contiene mucha información, de los cuales hay 3 lugares importantes para la animación del esqueleto (todas las matrices a continuación son para el hueso 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 matriz en pose de enlace

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

Mi pregunta es -¿Qué hago exactamente con estas matrices? He encontrado una ecuación en el sitio de la Universidad de Newcastle (http://research.ncl.ac.uk/game/mastersdegree/graphicsforgames/skeletalanimation/), pero solo hay 1 matriz allí. La pregunta es -¿Cómo combino estas matrices para obtener la matriz de transformación de vértice??

Respuestas a la pregunta(2)

Su respuesta a la pregunta