Приложение какао дает EXC_BAD_ACCESS для любой функции GL - PullRequest
1 голос
/ 14 августа 2011

Кажется, что независимо от того, какую функцию GL я вызываю, я получаю EXC_BAD_ACCESS. Тем не менее, я вызываю эти функции в readFromURL:ofType:error: подкласса NSDocument для некоторых закадровых рисунков. Если я удаляю этот код и пытаюсь использовать GL позже, когда все загружено, все работает нормально. Это проблема контекста GL?

Я прочитал руководство Apple по GL, но в разделе, посвященном рисованию за кадром, он только что рассказал мне, как использовать кадровые буферы. Что я и делаю, но так как glGenFramebuffersEXT падает так же, как и все остальное, это не очень полезно.

Есть ли какое-то создание контекста, которое мне нужно выполнить, и если да, то как лучше это сделать?

1 Ответ

3 голосов
/ 14 августа 2011

Да, вызовам OpenGL нужен контекст. Если у вас есть NSOpenGLView, вам нужно получить его контекст и сделать его текущим:

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

Если вы не используете NSOpenGLView, вы можете создать NSOpenGLContext себя.

...