[SOLVED] OpenGL AssImp & glDrawElements
Verfasst: 17.03.2011, 20:22
Irgendwie stell ich mich grad zu doof an... evtl. kann mir ja hier jemand meinen Fehler aufzeigen:
Ich habe in einem iPhone Projekt (GL ES 2.0!) per AssImp ein simples Objekt (Würfel mit trippeled Polygons) geladen und versuche nun das mal ganz simpel zu rendern. Das betreffende Mesh wird anscheinend auch korrekt geladen (sichtbar im Debugger), aber wenn ich versuche das mit glDrawElements zu malen funktioniert das leider nicht:
Der auskommentierte Aufruf von glDrawArrays zeichnet übrigens zumindest etwas (ist natürlich ein ziemlich wirrer Polygonhaufen).
Dankbar für eure Hilfe...
Maxx
Ich habe in einem iPhone Projekt (GL ES 2.0!) per AssImp ein simples Objekt (Würfel mit trippeled Polygons) geladen und versuche nun das mal ganz simpel zu rendern. Das betreffende Mesh wird anscheinend auch korrekt geladen (sichtbar im Debugger), aber wenn ich versuche das mit glDrawElements zu malen funktioniert das leider nicht:
Code: Alles auswählen
// Draw first mesh of AssImp Scene
const struct aiMesh* mesh = scene->mMeshes[0];
glVertexAttribPointer(ATTRIB_VERTEX, 3, GL_FLOAT, 0, 0, mesh->mVertices);
glEnable(GL_VERTEX_ARRAY);
glEnableVertexAttribArray(ATTRIB_VERTEX);
GLuint* indices = malloc(sizeof(GLuint) * mesh->mNumFaces * 3);
for (unsigned int x = 0; x < mesh->mNumFaces; ++x)
{
for (unsigned int a = 0; a < 3; ++a)
{
*indices++ = mesh->mFaces[x].mIndices[a];
}
}
//glDrawArrays(GL_TRIANGLE_STRIP, 0, mesh->mNumFaces*3);
glDrawElements(GL_TRIANGLES, mesh->mNumFaces * 3, GL_UNSIGNED_INT, indices);
Dankbar für eure Hilfe...
Maxx