Je me suis cogné la tête sur mon clavier ces dernières semaines. Ce que j'essaie de faire est de charger un tableau de flottants (GLfloat) et un tableau de shorts non signés (GLushort) à partir d'un fichier texte dans des tableaux équivalents dans objective-c afin que je puisse rendre les objets contenus. J'ai mes tableaux chargés en objets vectoriels commeFormat correct pour le chargement des tableaux de vertex à partir du fichier
vector<float> vertices;
et
vector<GLushort> indices;
Mais pour une raison que je ne peux pas comprendre pourquoi je ne peux pas obtenir ces pour rendre. Voici mon code pour le rendu ci-dessus:
glVertexPointer(3, GL_FLOAT, sizeof(vertices[0])*6, &vertices[0]);
glNormalPoitner(GL_FLOAT, sizeof(vertices[0])*6, &vertices[3]);
glDrawElements(GL_TRIANGLES, sizeof(indices)/sizeof(indices[0]), GL_UNSIGNED_SHORT, indices);
tableaux exemples sont ci-dessous:
vertices: (Vx, Vy, Vz, Nx, Ny, Nz)
{10, 10, 0, 0, 0, 1,
-10, 10, 0, 0, 0, 1,
-10, -10, 0, 0, 0, 1,
10, -10, 0, 0, 0, 1};
indices: (v1, v2, v3)
{0, 1, 2,
0, 2, 3};
Le fichier texte que je veux charger ces tableaux de pour le rendu ressemble à ceci:
4 //Number of Vertices
###Vertices###
v 10 10 0 0 0 1
v -10 10 0 0 0 1
v -10 -10 0 0 0 1
v 10 -10 0 0 0 1
###Object1###
2 //Number of faces
f 0 1 2
f 3 4 5
Les objets vectoriels sont-ils la meilleure approche? Si non, qu'est-ce que c'est? Et qu'est-ce que je fais de mal que ceux-ci ne rendront pas? Merci.
"Je n'arrive pas à obtenir ces rendus". Au lieu de cela, vous obtenez ... quoi? Crash? Écran noir? – genpfault
Désolé je n'ai pas clarifié, il n'a juste rendu rien d'autre que mon fond de couleur claire. Idem que si j'avais commenté ma ligne glDrawElements. En parlant de cela, y a-t-il un moyen plus efficace de rendre que glDrawElements pour ce que je tente de faire? – Davido