GLKit und Objective C
-
Hey,
hoffe hier nicht komplett Themenfremd zu sein, aber vielleicht kennt sich ja doch der ein oder andere damit aus.
Ich habe angefangen unter IOS, Objective C mit GLKit (als Wrapper für OpenGL ES) zu entwickeln. Als einfaches Beispiel möchte ich ein Dreieck auf den Bildschirm zeichnen. Hier scheitere ich bereits. Auf dem Bildschirm sehe ich zwar die generiere Hintergrundfarbe, aber von einem Dreieck ist nichts zu sehen.
Kann jemand erkennen was hier noch fehlt?Besten Dank.
Grüße
GLKit- (void)viewDidLoad { [super viewDidLoad]; self.context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2]; if (!self.context) { NSLog(@"Failed to create ES context"); } self.preferredFramesPerSecond = 33; [EAGLContext setCurrentContext:self.context]; // Init view GLKView *view = (GLKView *)self.view; view.context = self.context; //view.enableSetNeedsDisplay = FALSE; } - (void) update { //NSLog(@"F: update"); } - (void) glkView:(GLKView *)view drawInRect:(CGRect)rect { glClearColor(0.7, 1.0, 0.7, 1.0); glClear(GL_COLOR_BUFFER_BIT); GLshort vertices[] = { 0 , 250, 250 , 250, 0 , 0 }; CGFloat w = self.view.bounds.size.width; CGFloat h = self.view.bounds.size.height; glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrthof(0, w, h, 0, 0, 1); glMatrixMode(GL_MODELVIEW); glEnableClientState(GL_VERTEX_ARRAY); glDisable(GL_DEPTH_TEST); glVertexPointer(2, GL_SHORT, 0, vertices); glColor4f(0.5,0.5,0.5,1); glDrawArrays(GL_TRIANGLES, 0, 3); }
-
Problem ist gefunden:
Wenn man
initWithAPI:kEAGLRenderingAPIOpenGLES2
durch
initWithAPI:kEAGLRenderingAPIOpenGLES1
ersetzt, dann sieht man auch ein Dreieck.
Grüße
GLKit