Я пытаюсь нарисовать 3D-объекты, которые имеют более 65536 вершин на iPad, но не могут понять, что я делаю неправильно. Моя оригинальная модель, которая использовала GL_UNSIGNED_SHORT, работала просто отлично, но теперь с GL_UNSIGNED_INT я не могу получить ничего, чтобы показать с помощью команды glDrawElements. Как будто рендерер полностью игнорирует мою строку glDrawElements. Часть моего цикла рендеринга, на которую я ссылаюсь, приведена ниже:
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_NORMAL_ARRAY);
glVertexPointer(3, GL_FLOAT, sizeof(assemblyObj->vertices[0])*6, &assemblyObj->vertices[0]);
glNormalPointer(GL_FLOAT, sizeof(assemblyObj->vertices[0])*6, &assemblyObj->vertices[0]);
for (int i = 0; i < assemblyObj->numObjects; i++)
{
glDrawElements(GL_TRIANGLES, assemblyObj->partList[i].faceArray.size(), GL_UNSIGNED_INT, &assemblyObj->partList[i].faceArray[0]);
}
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_NORMAL_ARRAY);
вершины определяются как:
vector<float> vertices;
и каждый faceArray определяется как:
vector<UInt32> faceArray;
Есть какие-нибудь предположения о том, что я делаю неправильно, что мешает рисовать мою геометрию?