Hello everyone,
I would like to have multiple openglViews in my application. even multiple openGl subviews on one parent view.
Everything works fine with one opengl view i add but every additional view i add wont render anything. I thought i would have to create a render buffer and framebuffer per subview but somehow that doesnt help or maybe doesnt happen.
Here is some code how i create my framebuffers and render buffers in each view:
Code:
- (BOOL)createFramebuffer {
glGenFramebuffersOES(1, &viewFramebuffer);
glGenRenderbuffersOES(1, &viewRenderbuffer);
NSLog(@"FRAMEBUFFER : %i",viewFramebuffer);
NSLog(@"RENDERBUFFER : %i",viewRenderbuffer);
glBindFramebufferOES(GL_FRAMEBUFFER_OES, viewFramebuffer);
glBindRenderbufferOES(GL_RENDERBUFFER_OES, viewRenderbuffer);
[context renderbufferStorage:GL_RENDERBUFFER_OES fromDrawable:(CAEAGLLayer*)self.layer];
glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_COLOR_ATTACHMENT0_OES, GL_RENDERBUFFER_OES, viewRenderbuffer);
glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_WIDTH_OES, &backingWidth);
glGetRenderbufferParameterivOES(GL_RENDERBUFFER_OES, GL_RENDERBUFFER_HEIGHT_OES, &backingHeight);
if (USE_DEPTH_BUFFER) {
glGenRenderbuffersOES(1, &depthRenderbuffer);
glBindRenderbufferOES(GL_RENDERBUFFER_OES, depthRenderbuffer);
glRenderbufferStorageOES(GL_RENDERBUFFER_OES, GL_DEPTH_COMPONENT16_OES, backingWidth, backingHeight);
glFramebufferRenderbufferOES(GL_FRAMEBUFFER_OES, GL_DEPTH_ATTACHMENT_OES, GL_RENDERBUFFER_OES, depthRenderbuffer);
}
if(glCheckFramebufferStatusOES(GL_FRAMEBUFFER_OES) != GL_FRAMEBUFFER_COMPLETE_OES) {
NSLog(@"failed to make complete framebuffer object %x", glCheckFramebufferStatusOES(GL_FRAMEBUFFER_OES));
return NO;
}
return YES;
}
Weird thing is for every view i create the values logged for the framebuffer and render buffer are 1 and 1
i tried this too:
Code:
glGenFramebuffersOES(num_ofViews, &viewFramebuffer);
glGenRenderbuffersOES(num_ofViews, &viewRenderbuffer);
but that didn't help either :-(
If anyone had some idea for me it would be much appreciated!
I have been stuck on this for 3 days now and cant figure it out:-(
Thx a lot in advance!
Wolfgang