
Il ne faut pas utiliser pour cela les transformations de matrice. Il te faut effectuer des translations et rotations de tous les points de ton mesh. Pour cela, tu n'est pas obligé de bouger ton mesh en calculant la position de chaque point ça serait un peu galère. Il faut en fait enregistrezr ton mesh sous les diverses positions que tu veux lui faire adopter, et créer un programme qui calculera chaque position de point à un instant T entre deux positions de ton MESH. Par exemple, si tu as un mesh représentant un personnage et que tu souhaite lui faire avancer une jambe, enregistre dans un premier fichier .X le bonhomme à l'arrêt, et dans un second le bonhomme avec la jambe avancée au maximum que tu le souhaite. Ensuite, dans ton programme, effectue une boucle pour que chacun des points du MESH du bonhomme à l'arrêt arrivent au final au bonhomme avec la jambe avancée au maximum en demandant à directX de redessiner chacun des points du MESH à des instants que tu défini augmentant ainsi plus ou moins la vitesse des déplacements entre les deux positions. Tu peux aussi créer un sous programme chargé de calculer la position de ces points, de les enregistrer, puis de les représernter au programme principal te permettant ainsi de ne pas avoir à conserver toutes les positions de ton MESH.
Pour plus d'info va voir le Site DirectX4VB, c'est là que j'ai trouvé ce système d'animation de MESH dans la leçon 10 ou 11 du Tutorial DirectX8. C'est en anglais, mais il y a des exemples.
Bon courage