objective-c - Cocoa 应用程序在任何 GL 函数上提供 EXC_BAD_ACCESS

标签 objective-c cocoa opengl exc-bad-access

看来无论我调用什么GL函数,我都会得到EXC_BAD_ACCESS。但是,我在 NSDocument 子类的 readFromURL:ofType:error: 中调用这些函数,以进行一些离屏绘图。如果我删除该代码,并稍后尝试使用 GL,一旦所有内容都加载完毕,一切都会正常工作。这是 GL 上下文问题吗?

我阅读了Apple的GL指南,但在关于离屏绘制的部分中,它只是告诉我如何使用帧缓冲区。我这样做了,但由于 glGenFramebuffersEXT 就像其他所有东西一样崩溃,所以它不是很有帮助。

我需要执行某种上下文创建吗?如果需要,最好的方法是什么?

最佳答案

是的,OpenGL 调用需要上下文。如果您有 NSOpenGLView,则需要获取其上下文并将其设为当前状态:

[[openGLView openGLContext] makeCurrentContext];
// glCalls()

如果您没有使用NSOpenGLView,您可以自己创建NSOpenGLContext

关于objective-c - Cocoa 应用程序在任何 GL 函数上提供 EXC_BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7053494/

相关文章:

iphone - 如何让我的 iPhone 应用程序动态加载协议(protocol)?

iPhone ios 5,在每个模拟器运行时重新创建数据库?

c++ - VAO 是否同时记住 EBO/IBO(元素或索引)和 VBO?

opengl - GLSL 着色器 : blending, 图元特定行为,并丢弃顶点

c++ - OpenGL 中的振荡颜色

iOS 访问照片的权限在设备上不起作用

objective-c - 无法构建 Objective-C 模块 'ContactsUI'

iphone - 在哪里保存 100 个 NSString + 其他类型

objective-c - 当有人在 Objective-C 类/对象中使用特定方法时限制使用/生成编译错误

objective-c - 使用 respondsToSelector 时抑制 "' …' is deprecated"