3. Vertex skinning with up to four matrices
In order to implement skinning, matrix transformations are used in calculating the vertices. For each bone that affects a given vertex, an additional matrix must be used, making the job of skinning computationally intensive. Using the Charisma Engine, up to four matrices can be accelerated in hardware, as compared to two supported by the GeForce.
2-Matrix Blending vs. 3-Matrix Blending
The above illustrations demonstrate the usage of more than two matrices on a shoulder. In order to maintain the smooth appearance of the picture on the right, a software-based solution must be used (negatively impacting performance).
4. Keyframe Interpolation (Vertex Morphing)
When dealing with complex facial expressions and effects such as muscle rippling, a more powerful method must be used to render smoothly without consuming massive amounts of memory and bandwidth. For these situations ATI has incorporated keyframe interpolation - a deceptively simple routine that takes successive frames (called keyframes) and "interpolates" to fill in the gaps between the two frames.
In the illustration below, an artist need only define the frowning and smiling faces, and by using the Charisma Engine, all intermediate frames would be successively generated without any additional CPU overhead.
Using interpolation, not only is development time conserved, but memory requirements are reduced to provide for more animations or other memory intensive routines to run simultaneously.