看来无论我调用什么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/