如果出现任何问题,OpenGL ES 1.1会让我的iPhone程序崩溃。
通常它发生在glDrawArrays中的某个地方,在堆栈上有几个glDestroyContext调用。
通常我会通过插入
来平分问题{
GLint iErr = glGetError();
if (iErr != GL_NO_ERROR)
{
NSLog(@"GL error: %d (0x%x)", iErr, iErr);
}
}
到处都是。
但有时候还不够。有没有其他方法可以对崩溃原因进行有用的诊断?
答案 0 :(得分:0)
您是否在控制台输出中收到任何错误消息?仅从描述中,我想知道你是否得到BAD_ACCESS
例外。如果我的假设是正确的,那么您可能会将错误的数组传递给glVertexPointer
,glColorPointer
或其他相关函数。
假设它在glDrawArrays
中死亡并且永远不会回来,我是否正确?换句话说,glGetError
之后无法调用glDrawArrays
,因为程序已经崩溃了?