Limdor
03-06-2011, 10:58 AM
Hi guys,
I am rendering a box on the screen and it works but if I render it to a a render buffer it seems that the depth test doesn't work. What am I doing wrong? I attach the code and the images.
Initialization of renderbuffer and framebuffer:
GLuint renderBuffer;
GLuint frameBuffer;
glGenRenderbuffers( 1, &renderBuffer );
glBindRenderbuffer( GL_RENDERBUFFER, renderBuffer );
glRenderbufferStorage( GL_RENDERBUFFER, GL_RGBA32F, mWinWidth, mWinHeight );
CHECK_GL_ERROR();
glGenFramebuffers( 1, &frameBuffer );
glBindFramebuffer( GL_FRAMEBUFFER, frameBuffer );
glFramebufferRenderbuffer( GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, renderBuffer);
if( glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE)
CECK_GL_ERROR();
glBindFramebuffer( GL_FRAMEBUFFER, 0 );
Preparing for drawing:
glBindFramebuffer( GL_FRAMEBUFFER, frameBuffer );
glDrawBuffer(GL_COLOR_ATTACHMENT0);
glViewport( 0, 0, mWinWidth, mWinHeight );
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
I am rendering a box on the screen and it works but if I render it to a a render buffer it seems that the depth test doesn't work. What am I doing wrong? I attach the code and the images.
Initialization of renderbuffer and framebuffer:
GLuint renderBuffer;
GLuint frameBuffer;
glGenRenderbuffers( 1, &renderBuffer );
glBindRenderbuffer( GL_RENDERBUFFER, renderBuffer );
glRenderbufferStorage( GL_RENDERBUFFER, GL_RGBA32F, mWinWidth, mWinHeight );
CHECK_GL_ERROR();
glGenFramebuffers( 1, &frameBuffer );
glBindFramebuffer( GL_FRAMEBUFFER, frameBuffer );
glFramebufferRenderbuffer( GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, renderBuffer);
if( glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE)
CECK_GL_ERROR();
glBindFramebuffer( GL_FRAMEBUFFER, 0 );
Preparing for drawing:
glBindFramebuffer( GL_FRAMEBUFFER, frameBuffer );
glDrawBuffer(GL_COLOR_ATTACHMENT0);
glViewport( 0, 0, mWinWidth, mWinHeight );
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );