Framebuffer Bind Problem

I am having some problems with Framebuffer Objects. Maybe I am missing something. Hope you guys can help me.

I need to render an image to a framebuffer for later use. In order to check if everything is in place, I create an image with the following code

static optix::float4 *pix = new optix::float4[ this->mCamera.mWidth * this->mCamera.mHeight ];
for( int i = 0; i < this->mCamera.mWidth * this->mCamera.mHeight; i++ ) {
   if( i < 50000 )
      pix[i] = optix::make_float4( 1.0f, 0.0f, 0.0f, 1.0f );
      pix[i] = optix::make_float4( 1.0f, 1.0f, 0.0f, 1.0f );

On my render function, I try to draw the image using glDrawPixels.

glDrawPixels( this->mCamera.mWidth, this->mCamera.mHeight, GL_RGBA, GL_FLOAT, pix );

So far so good, the image is displayed without problems. Now, for some reason, when I create a framebuffer object, the image is not being displayed. I use the following lines in my initialization function to create a framebuffer

GLuint id = 0;
glGenFramebuffersEXT( 1, &id );
glBindFramebufferEXT( GL_FRAMEBUFFER_EXT, id );
glBindFramebufferEXT( GL_FRAMEBUFFER_EXT, 0 );

// Do not work

What is odd is that if I do not bind any framebuffer, it works. I mean that, if I just create the framebuffer with glGenFrameBufferEXT, glDrawPixels works fine.

GLuint id = 0;
glGenFramebuffersEXT( 1, &id );

// This works

Am I missing some configuration step?

Thanks in advance.

1 Like

Ok, looks like I miss a post where this problem was reported

Should I delete this post?