Bonjour,

Loulou m'avais conseillé d'utiliser les déclarations de vertex. Après quelques recherche, c'est vrai que ça rend l'application bien plus flexible que les FVF.

Cependant, je ne sais pas comment m'y prendre pour les mettre en place. En effet, lorsque je parcours ma structure collada, j'ai d'habord une liste de "sources d'information" qui seront référencées par chaque vertex un peu plus tard.
Quoi qu'il en soit, je peux déjà faire mon tableau de D3DVERTEXELEMENT9 en parcourant cette liste de source.

Après avoir parcouru cette liste, je sais quelle taille aura un vertex, donc je peux déclarer un tableau de BYTE de la taille d'un vertex et le remplir.

Le soucis c'est que comme les vector ne peuvent être déclaré avec une taille d'élément dynamique..., je peux pas faire de std::vector<BYTE[taille]>. Alors je peux faire un vector de pointeur de byte:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
std::vector<BYTE*> vertexVec;
 
for(int i = 0; i < nombre de vertex; i++)
{
     BYTE* newVertex = new BYTE[taille];
     // on recopie les infos à leur place pour chaque source
 
     vertexVec.push_back(newVertex);
}
Avant, quand je pointais sur une structure de vertex, c'était pas des pointeurs les élément du vector, donc je faisais std::copy() pour les mettre dans le buffer de vertex.

Maintenant comment je peux faire?

A bientôt

Aurélien