Bonjour,
Je cherche un moyen d'appliquer les coordonnées UV d'un objet dont les vertices sont stockés dans un tableau (vertexList).
J'ai 2 tableaux d'idices :
- 1 pour mes faces triangulaires
- 1 pour mes faces rectangulaires
J'affiche le tout avec un glDrawElements et tout vas bien dans le meilleur des mondes
Tout se complique quand je veux appliquer des coordonnées UV à mon objet.
En effet, j'ai une liste de coordonnées de textures (texCoordList) et une liste d'indice correspondant (triangleListTex et quadListTex).
Et la je bloque... pas moyen de comprendre comment je peut donner ce a manger à OpenGL en utilisant glTexCoordPointer.
J'ai beau chercher, je ne trouve pas comment glDrawElements peut associer mes tableaux d'indices de texture au vertices lors de la création des facettes.
Mon code ressemble à ca :
Quelqu'un peut me dire comment je peux organiser mes données ? Ou me donner un lien relativement clair à ce sujet ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_TEXTURE_COORD_ARRAY); glVertexPointer(3, GL_FLOAT, 0, vertexList); glTexCoordPointer(3, GL_FLOAT, 0, texCoordList); // Affichage des faces triagulaires glDrawElements(GL_TRIANGLES, nbTriangles*3, GL_UNSIGNED_INT, triangleList); // Affichage des faces rectangulaires glDrawElements(GL_QUADS, nbQuads*4, GL_UNSIGNED_INT, quadList); glDisableClientState(GL_VERTEX_ARRAY); glDisableClientState(GL_TEXTURE_COORD_ARRAY);
Merci d'avance![]()
Partager