Я загружающий 3D Skeleton model (exported from Blender) с помощью Cocos3D но получила следующее утверждение:Вершины превысила максимально допустимый по OpenGL ES
*** Assertion failure in -[CC3OpenGLES2IOS drawIndicies:ofLength:andType:as:], /Users/phamdacloc/Downloads/xxx/cocos3d201/Projects/CC3HelloWorld/cocos3d/cocos3d/OpenGL/CC3OpenGL.m:282
Вот где утверждают, пришел из:
-(void) drawIndicies: (GLvoid*) indicies ofLength: (GLuint) len andType: (GLenum) type as: (GLenum) drawMode {
#if CC3_OGLES
CC3Assert((type == GL_UNSIGNED_SHORT || type == GL_UNSIGNED_BYTE),
@"OpenGL ES permits drawing a maximum of 65536 indexed vertices, and supports only"
@" GL_UNSIGNED_SHORT or GL_UNSIGNED_BYTE types for vertex indices");
#endif
glDrawElements(drawMode, len, type, indicies);
LogGLErrorTrace(@"glDrawElements(%@, %u, %@, %p)", NSStringFromGLEnum(drawMode), len, NSStringFromGLEnum(type), indicies);
CC_INCREMENT_GL_DRAWS(1);
}
Из сообщения выше, я понимаю, что модель слишком детализирована и содержит больше вершин, чем разрешено (65536). Затем я удалил все спинные шнуры, голову, ноги, и на этот раз Cocos3D загружается успешно. Есть ли способ сохранить все эти вершины или я должен разделить модели на несколько файлов .pod?
На боковой ноте, когда я открываю файл skeleton.blend в «Object Mode», я вижу 205,407 вершин в верхнем правом углу Blender. Однако, когда я перешел из «Режим объекта» в «Режим редактирования» и выбрал все вершины, присутствовало только 33 574 + 4 773 = 38 347 вершин. Почему «Режим объекта» показывает больше вершин, чем «Режим редактирования»?
Спасибо. Я решил использовать другое решение, применив инструмент Decimate для сокращения вершин. –