我正在尝试在XCode 4中设置OpenGL 3.0+上下文。
正如您在开发者网站上看到的talking about shaders here,它使用的示例是OpenGL 2.0。在附录B中,它确实讨论了3.2的更新,但只是显示了函数名称更改以及仅适用于核心的内容,但没有实际设置OpenGL上下文的示例。这已经发生了很大的变化,因为固定的功能管道是你不能再做像glMatrixMode(...)等等......等等。 opengl状态不再存在。
如果有人可以指向我在网上某处使用XCode 4在Mac OSX 10.7上设置OpenGL 3.0+上下文的链接,我们将不胜感激。
答案 0 :(得分:6)
有一些示例代码here用于在NSOpenGLView中设置3.2上下文。
或使用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),因为它是选择加入。