1

我在 ios 的 Opengles 代码中使用以下模型加载器上传了一个模型。

http://bill.dudney.net/roller/objc/entry/wave_front_obj_textures_working

现在的问题是,当我想用​​以下代码绘制一个立方体和这个模型加载器时

const GLfloat floorVertices[] = {
    -1.0, 1.0, 0.0,     // Top left
    -1.0, -1.0, 0.0,    // Bottom left
    1.0, -1.0, 0.0,     // Bottom right
    1.0, 1.0, 0.0       // Top right
};



glVertexPointer(3, GL_FLOAT, 0, floorVertices);
glEnableClientState(GL_VERTEX_ARRAY);
glRotatef(90.0, 0.0, 1.0, 0.0);
glDrawArrays(GL_TRIANGLE_FAN, 0, 4);

它在 glDrawArrays(GL_TRIANGLE_FAN, 0, 4) 上崩溃,出现 EXC_BAD_ACCESS 错误

我已经在互联网上搜索了这个问题,但无法简单的解决方案或解释。这是另一个关于它的问题,但由于缺乏关于opengles的知识,我无法得到他的答案。

glDrawArrays 与 EXC_BAD_ACCESS 崩溃

任何人都可以解决这个问题或简单解释已经提出的问题。提前致谢

4

1 回答 1

4

这可能是因为其他顶点数组仍处于启用状态,而 OpenGL 指向它们的指针尚未清除,导致 OpenGL 取消引用悬空指针。

使用 OpenGL 帧调试器或 glGetIntegerv() 查看是否启用了任何其他数组类型(COLOR_ARRAY、NORMAL_ARRAY、GL_TEXTURE_COORD_ARRAY)。

于 2012-06-29T04:03:32.590 回答