Bonjour,

Voici une partie de mon loader de MD5 (fichier Doom 3):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
	glEnableClientState(GL_VERTEX_ARRAY);
	glEnableClientState(GL_TEXTURE_COORD_ARRAY);
	glBindTexture(GL_TEXTURE_2D, textureID);
 
	glTexCoordPointer(4, GL_FLOAT, 0, coordTex);
	glVertexPointer(3, GL_FLOAT, 0, vertexArray);
	glDrawElements(GL_TRIANGLES, md5File->meshes[i].num_tris*3, GL_UNSIGNED_INT, vertexIndices);
 
	glDisableClientState(GL_VERTEX_ARRAY);
J'ai 2 questions:
- Le plus gros problème c'est que ma texture s'affiche n'importe comment sur le model MD5. Donc je me demandait si glDrawElements prenait en compte vertexIndices pour afficher les coorddonée des textures contenus dans coordTex ? Si ce n'est pas le cas : comment faire ?
EDIT : oubliez cette question...en fait tout fonctionne...il faut juste remplacer le "4" par un "2" dans le code au-dessus !

- Est-il mieux de faire un glEnableClientState/glDisableClientState à chaque passage dans la fonction draw() ? C'est à dire environ 50 fois/seconde. Ou alors il vaut mieux mettre le glEnableClientState une fois à l'initialisation et une fois le glDisableClientState() à la fin quand on quitte le programme ?

Merci d'avance...