Skip to content

Commit

Permalink
[ios] added depthbuffer to gles for exciting things later on
Browse files Browse the repository at this point in the history
  • Loading branch information
davilla committed Jul 16, 2011
1 parent 5070607 commit c9ca971
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 5 deletions.
2 changes: 1 addition & 1 deletion xbmc/osx/atv2/XBMCEAGLView.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
GLint framebufferWidth;
GLint framebufferHeight;
// The OpenGL ES names for the framebuffer and renderbuffer used to render to this view.
GLuint defaultFramebuffer, colorRenderbuffer;
GLuint defaultFramebuffer, colorRenderbuffer, depthRenderbuffer;
// the shader program object
GLuint program;
//
Expand Down
14 changes: 12 additions & 2 deletions xbmc/osx/atv2/XBMCEAGLView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -146,9 +146,13 @@ - (void)createFramebuffer
[context renderbufferStorage:GL_RENDERBUFFER fromDrawable:(CAEAGLLayer *)self.layer];
glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_WIDTH, &framebufferWidth);
glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_HEIGHT, &framebufferHeight);

glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, colorRenderbuffer);


glGenRenderbuffers(1, &depthRenderbuffer);
glBindRenderbuffer(GL_RENDERBUFFER, depthRenderbuffer);
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, framebufferWidth, framebufferHeight);
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, depthRenderbuffer);

if (glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE)
NSLog(@"Failed to make complete framebuffer object %x", glCheckFramebufferStatus(GL_FRAMEBUFFER));
}
Expand All @@ -172,6 +176,12 @@ - (void) deleteFramebuffer
glDeleteRenderbuffers(1, &colorRenderbuffer);
colorRenderbuffer = 0;
}

if (depthRenderbuffer)
{
glDeleteRenderbuffers(1, &depthRenderbuffer);
depthRenderbuffer = 0;
}
}
}
//--------------------------------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion xbmc/osx/ios/XBMCEAGLView.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
GLint framebufferWidth;
GLint framebufferHeight;
// The OpenGL ES names for the framebuffer and renderbuffer used to render to this view.
GLuint defaultFramebuffer, colorRenderbuffer;
GLuint defaultFramebuffer, colorRenderbuffer, depthRenderbuffer;
// the shader program object
GLuint program;
//
Expand Down
12 changes: 11 additions & 1 deletion xbmc/osx/ios/XBMCEAGLView.mm
Original file line number Diff line number Diff line change
Expand Up @@ -151,8 +151,12 @@ - (void)createFramebuffer
[context renderbufferStorage:GL_RENDERBUFFER fromDrawable:(CAEAGLLayer *)self.layer];
glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_WIDTH, &framebufferWidth);
glGetRenderbufferParameteriv(GL_RENDERBUFFER, GL_RENDERBUFFER_HEIGHT, &framebufferHeight);

glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, colorRenderbuffer);

glGenRenderbuffers(1, &depthRenderbuffer);
glBindRenderbuffer(GL_RENDERBUFFER, depthRenderbuffer);
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, framebufferWidth, framebufferHeight);
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, depthRenderbuffer);

if (glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE)
NSLog(@"Failed to make complete framebuffer object %x", glCheckFramebufferStatus(GL_FRAMEBUFFER));
Expand All @@ -177,6 +181,12 @@ - (void) deleteFramebuffer
glDeleteRenderbuffers(1, &colorRenderbuffer);
colorRenderbuffer = 0;
}

if (depthRenderbuffer)
{
glDeleteRenderbuffers(1, &depthRenderbuffer);
depthRenderbuffer = 0;
}
}
}
//--------------------------------------------------------------
Expand Down

0 comments on commit c9ca971

Please sign in to comment.