Preparing the vertex shader and buffers for vertex skinning
In this recipe, we will update our vertex structure, constant buffers, and vertex shader to support the transforming of vertices based on an underlying bone structure.
The key component of vertex skinning or skinning is the hierarchy of pose and movement that is produced by a bone structure or skeleton within a mesh (also known as an armature). As we know from basic anatomy, a skeleton provides, among other functions, a mechanism for transmitting muscular forces. It is a collection of bones, each connected to another.
We apply the same concept to the armature of a mesh. We have a root bone, and each subsequent bone is parented by the root bone or another bone that ultimately resolves it's parentage to this root bone. In this manner, if we move the root bone, the whole body moves with it; but if we move the shoulder, then only the arm moves with it.
The left-most figure in the following screenshot shows an example of an armature of...