Ich habe in den letzten paar Wochen meinen Kopf auf meiner Tastatur geschlagen. Was ich versuche, ist ein Array von Floats (GLfloat) und ein Array von unsigned shorts (GLushort) aus einer Textdatei in äquivalente Arrays in objective-c zu laden, damit ich die enthaltenen Objekte rendern kann. Ich habe meine Arrays bekam geladen in Vektor-Objekte alsKorrektes Format zum Laden von Vertex-Arrays aus Datei
vector<float> vertices;
und
vector<GLushort> indices;
Aber aus irgendeinem Grund, den ich nicht herausfinden können, warum ich nicht diese zu machen bekommen. Hier ist mein Code für die Wiedergabe des oben:
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);
Probe-Arrays sind unter:
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};
Die Textdatei ich von diesen Arrays geladen werden soll für wie folgt aussieht Rendering:
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
Sind Vektorobjekte der beste Ansatz? Wenn nicht, was ist? Und was mache ich falsch, dass diese nicht rendern? Vielen Dank.
"Ich kann diese nicht zum Rendern bringen". Stattdessen bekommst du ... was? Absturz? Schwarzer Bildschirm? – genpfault
Tut mir leid, ich habe nicht geklärt, es hat nur nichts gerendert, außer meinem clearcolor Hintergrund. So, als hätte ich meine glDrawElements-Zeile auskommentiert. Apropos, gibt es eine effizientere Möglichkeit, als glDrawElements für das, was ich versuche, zu machen? – Davido