Mesh and Skeleton organization

Started by
1 comment, last by pondwater 11 years, 8 months ago
Originally my models would consist of a set of meshes and a single global skeleton. Each frame I would iterate through every bone and calculate the skinning matrices then pass these to the skinning shader for each meshes draw call.

Now I realize that while multiple meshes may use the same skeleton, the bones may have different inverse bind transforms depending on the mesh (i guess this is why Assimp and COLLADA store the inverse binds independantly for each mesh).

Is it common to have unique inverse binds or each mesh?

If so, what is a recommended way to store them? I was thinking of having a global skeleton that contains the bone heirarchy. Any pose can be applied to this skeleton, then when skinning, the inverse binds from the respective mesh can be used to construct the skinning palette.
Advertisement

Is it common to have unique inverse binds or each mesh?

It depends on your game, but even if not always necessary, it is possible.


Is it common to have unique inverse binds or each mesh?

It didn't hurt and is more flexible.
I'm trying to figure out under what circumstance unique inverse binds for each mesh would be needed?

The only reason I have them is because Assimp concatenates the COLLADA bind shape matrices into them, which for the life of me I can't understand why this decision was made. I just don't understand why they aren't stored under the respective mesh aiNode->mTransformation...

This topic is closed to new replies.

Advertisement