我需要这个代码吗? iOS 8上的OpenGL

时间:2015-07-21 05:52:23

标签: ios objective-c opengl-es

我正在学习iOS的OpenGL,我发现了一些我试图测试的旧代码,当我尝试运行它时,我得到了EXC_BAD_ACCESS

这是代码:

- (void) initGL
{
    RendererInfo renderer;
    // Query renderer capabilities that affect this app's rendering paths
    renderer.extension[APPLE_texture_2D_limited_npot] =
    (0 != strstr((char *)glGetString(GL_EXTENSIONS), "GL_APPLE_texture_2D_limited_npot"));
    renderer.extension[IMG_texture_format_BGRA8888] =
    (0 != strstr((char *)glGetString(GL_EXTENSIONS), "GL_IMG_texture_format_BGRA8888"));
    glGetIntegerv(GL_MAX_TEXTURE_SIZE, &renderer.maxTextureSize);
}

根据我的阅读,这些在当前版本的OpenGL中已经过时,这是正确的,是否需要更新此代码?

1 个答案:

答案 0 :(得分:0)

扩展名可能是偶像,但代码不是。

glGetStringglGetIntegerv是OpenGL的标准,因此您的代码中必须有错误,我不是Objective-C编码器,但这似乎没有初始化OpenGL或者某些关闭对象访问无效(例如,通过访问null / nil对象)。