Jump to content

  • Log In with Google      Sign In   
  • Create Account


#Actualpondwater

Posted 08 September 2012 - 02:34 PM

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.

#1pondwater

Posted 07 September 2012 - 01:43 PM

Originally my models would consist of a set of meshes and a single 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).

What is a recommended way to organize the data for this?

Do I store individual copies of the skeleton for each mesh with it's respective inverse binds?

Or maybe have one shared skeleton, and then each mesh has it's own array of inverse bind transforms?

PARTNERS