Apple hat ein Beispielcode Projekt namens GLEssentials das genau zeigt, wie dies zu tun (beachten Sie, dass es eine Mac OS X und iOS Beispielcode-Projekt).
Im Wesentlichen müssen Sie NSOpenGLView (die NSGLView Klasse in der Beispielcode) und implementieren die awakeFromNib Verfahren mit dem folgenden Unterklasse:
- (void) awakeFromNib
{
NSOpenGLPixelFormatAttribute attrs[] =
{
NSOpenGLPFADoubleBuffer,
NSOpenGLPFADepthSize, 24,
// Must specify the 3.2 Core Profile to use OpenGL 3.2
NSOpenGLPFAOpenGLProfile,
NSOpenGLProfileVersion3_2Core,
0
};
NSOpenGLPixelFormat *pf = [[[NSOpenGLPixelFormat alloc] initWithAttributes:attrs] autorelease];
if (!pf)
{
NSLog(@"No OpenGL pixel format");
}
NSOpenGLContext* context = [[[NSOpenGLContext alloc] initWithFormat:pf shareContext:nil] autorelease];
[self setPixelFormat:pf];
[self setOpenGLContext:context];
}
Denken Sie auch daran, dass, wenn Sie verwenden, um alle OpenGL-API-Aufrufe, die entfernt wurden Von der 3.2 API stürzt Ihre App ab. Hier ist ein PDF document der 3.2 Spezifikation, so dass Sie die Änderungen sehen können.