For a polygonal mesh, each vertex can have a blend weight for each bone. To calculate the final position of the vertex, a transformation matrix is created for each bone which, when applied to the vertex, first puts the vertex in bone space then puts it back into mesh space. After applying a matrix to the vertex, it is scaled by its corresponding weight. This algorithm is called "matrix-palette skinning" or "linear-blend skinning", because the set of bone transformations (stored as transform matrices) form a palette for the skin vertex to choose from.