Я пытаюсь рисовать 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;
Любые предложения о том, что я делаю неправильно, что мешает рисованию моей геометрии?