Bon voila le problème.
Je dois optimiser un moteur 3D qui a était fait avec DirectX 7. Comme je n'ai que 1 semaine pour le faire, je ne peux pas passer à la version 8 car je la connais très peu.
Parmis les optimisations que je suis en train de faire, je mets tous mes tableaux de vertex dans des vertex buffers (eh oui, c'était pas fait avant) afin de profiter du T&L des cartes récentes.
Le problème c'est que j'ai des objets animés avec plusieurs bones. Et d'après ce que j'ai compris à DirectX 7, il n'est possible d'animé que 4 bones au maximum par vertex buffers en utilisant les matrices stockés à l'aide de :
- D3DTRANSFORMSTATE_WORLD
- D3DTRANSFORMSTATE_WORLD1
- D3DTRANSFORMSTATE_WORLD2 et
- D3DTRANSFORMSTATE_WORLD3
Hors mes objets possèdent bien plus de bones (matrices) ! Donc la question est là :
Comment je fais pour gérer plus de 4 bones avec DirectX 7 tout en stockant mes vertex dans la carte (à l'aide des vertex buffers) afin d'utiliser le T&L de ma carte.
Etant donnée que j'ai jamais fais bcp de directX 7 (je me suis arreter au 6), peut-être que je dis des betises, mais en regardant dans la doc du 8, j'ai vu quand pouvait utiliser jusqu'a 256 matrice en utilisant la macro D3DTS_WORLDMATRIX(i).
Voila, merci d'avoir lu ce message jusqu'au bout et j'espère que je trouverais quelqu'un pour m'aider.
Leander