0
\$\begingroup\$

I am new to this website I was following this specific tutorial on skeletal animation and I have a good idea on what it is, but when I was following his implementation he used a variable called "m_BoneMapping" and which is undefined to me. What am I suppose to do?

\$\endgroup\$
1
  • \$\begingroup\$ I'm voting to close this question as off-topic because it is about debugging tutorial code. \$\endgroup\$
    – user1430
    Jan 4 '16 at 16:35
1
\$\begingroup\$

It looks like that tutorial doesn't include all of the source code but I did find a link to it on the main page, here: http://ogldev.atspace.co.uk/

The Mesh class appears to have an m_BoneMapping member, which the tutorial describes as the following:

The m_BoneMapping array maps a node name to the index that we generate and we use that index to as an entry into the m_BoneInfo array where the final transformations are stored.

The tutorial describes the m_BoneMapping as an array, but the source code suggests otherwise. It appears to be a std::map<std::string, unsigned> which maps a name (string) to an index (unsigned).

It is populated in the void Mesh::LoadBones(uint MeshIndex, const aiMesh* pMesh, vector& Bones) method, and used in void Mesh::ReadNodeHeirarchy(float AnimationTime, const aiNode* pNode, const Matrix4f& ParentTransform)

If you add that to your Mesh class it looks like it should all work out.

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.