Members - Reputation: 1754
Posted 13 August 2013 - 04:29 PM
I cannot access your code so I cant give you the solution to your problem.
Simply for each bone you must compute the absolute transform matrix.
Before you transform the vertex position you must *move* the vertex to the bone space (just by using the (Inverse)BindTransformMatrix(this thing here is a floating notion).
And after that you can transform the model to the world space.
About that line
joints[i].skinning_matrix = MatrixMultiply(joints[i].inverse_bind_pose_matrix, joints ...
I'm not sure what is going on but it seems like you are multiplying the parent bone inverse_bind_pose_matrix, to each child bone in the hierarchy. I don't know how the data is stored, but double check your code.