Я пытаюсь нарисовать простую коробку в моей игре для iPhone.
Вот код, который отображает поле:
- (void)render {
const SHAPE_TYPE * shape = dynamic_cast<SHAPE_TYPE *>(fixture->GetShape());
if (!shape)
return;
GLfloat vertices[shape->m_vertexCount][2];
for (int i = 0; i < shape->m_vertexCount; ++i) {
vertices[i][0] = shape->m_vertices[i].x;
vertices[i][1] = shape->m_vertices[i].y;
}
glPushMatrix();
glLoadIdentity();
CHECK_GL_ERROR();
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
CHECK_GL_ERROR();
glDisableClientState(GL_COLOR_ARRAY);
CHECK_GL_ERROR();
glEnableClientState(GL_VERTEX_ARRAY);
CHECK_GL_ERROR();
glVertexPointer(2, GL_FLOAT, 0, vertices);
glDrawArrays(GL_LINE_LOOP, 0, (GLsizei)shape->m_vertexCount);
glDisableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glPopMatrix();
CHECK_GL_ERROR();
}
я получаю ошибку на втором CHECK_GL_ERROR
Ошибка OpenGL error 0x0502 in -[MyApp render] 97
У меня нет настроек opengl, кроме того, что вы видите.
Я думаю, что это как-то связано с каким-то состоянием, которое разрешает cocos2d, но не знаю, какое именно.