Настройка и использование OpenGL 3.0+ с Mac OSX Lion (10.7) - PullRequest
6 голосов
/ 16 января 2012

Я пытаюсь настроить контекст OpenGL 3.0+ в XCode 4.

Как вы можете видеть , говоря о шейдерах здесь на сайте разработчика, пример, который он использует, - OpenGL 2.0. В Приложении B он говорит об обновлении для 3.2, но просто показывает изменения имени функции и то, что относится только к ядру, но нет примера реальной настройки контекста OpenGL. Это сильно изменилось, поскольку конвейер с фиксированными функциями заключается в том, что вы больше не можете делать такие вещи, как glMatrixMode (...) ... и т. Д. И т. Д., Т.е. OpenGL больше не существует.

Если кто-нибудь может указать мне ссылку где-нибудь в Интернете на настройку контекста OpenGL 3.0+ на Mac OSX 10.7 с использованием XCode 4, это будет приветствоваться.

1 Ответ

6 голосов
/ 25 января 2012

Здесь есть пример кода здесь для настройки контекста 3.2 внутри NSOpenGLView.

Или с использованием Core GL,

CGLPixelFormatAttribute attribs[13] = {
    kCGLPFAOpenGLProfile, (CGLPixelFormatAttribute)kCGLOGLPVersion_3_2_Core, // This sets the context to 3.2
    kCGLPFAColorSize,     (CGLPixelFormatAttribute)24,
    kCGLPFAAlphaSize,     (CGLPixelFormatAttribute)8,
    kCGLPFAAccelerated,
    kCGLPFADoubleBuffer,
    kCGLPFASampleBuffers, (CGLPixelFormatAttribute)1,
    kCGLPFASamples,       (CGLPixelFormatAttribute)4,
    (CGLPixelFormatAttribute)0
};

CGLPixelFormatObj pix;
GLint npix;
CGLChoosePixelFormat(attribs, &pix, &npix);

CGLContextObj ctx;
CGLCreateContext(pix, 0, &ctx);

CGLSetCurrentContext(ctx);
CGLLockContext(ctx);

В любом случае у вас естьсделать это вручную (не через InterfaceBuilder), потому что оно включено.

...