Создание представления OpenGL без Interface Builder

Итак, я пытаюсь создать представление openGL (в моем окне). Я делаю приложение какао. Мне удалось создать его с помощью Interface Builder, но в образовательных целях я хочу продолжить и сделать его без него. Только по бумагам.

И вот в чем суть, о которой я говорю, что я борюсь с этим. Итак, что я в основном сделал-попробовал, так это следующее: Я создал новый класс MyOpenGLView.h / m, унаследованный от NSOpenGLView.Я не добавил к нему никаких частных переменных или методов, только имя класса. Единственное, что я сделал, это переопределил initWithFrame: (добавив в него self = [super initWithFrame: pixelFormat:].) Я читал об этом в Интернете, что вы должны сначала создать его с чем-то вроде этого, прежде чем вы сможете его использовать). вот код:

- (id) initWithFrame:(NSRect)frameRect
{
 NSOpenGLPixelFormat *pixelFormat = [[NSOpenGLPixelFormat alloc]
                                    initWithAttributes:(NSOpenGLPixelFormatAttribute[])
                                    {
                                    NSOpenGLPFAWindow,
                                    NSOpenGLPFADoubleBuffer,
                                    NSOpenGLPFADepthSize, 32,
                                    nil
                                    }];
 self = [super initWithFrame:frameRect pixelFormat:pixelFormat];
 [[self openGLContext] makeCurrentContext];
}

Итак, у меня есть другой класс с именем «MyViewController.h / m», который обрабатывает мой вид? и вот у меня мой MyOpenGLView * myView. В файле .m я использую что-то вроде этого:

myView = [[MyOpenGLView alloc] initWithFrame:CGRectMake(0,0,100.0,100.0)];
if (!myView) { NSLog(@"ERROR"); }

и, конечно же, получаю ошибку.

В моем оконном приложении нет портированного представления openGL. Я бы предположил, что это что-то об иерархии вызываемых методов, но опять же ... я не уверен. Вы можете мне помочь?

5
задан genpfault 19 June 2012 в 04:38
поделиться