|
alright, I have implemented the code, but nothing is displaying... Initialization // -- Create FBO //Create Rendering buffer glGenRenderbuffersEXT(1, &flamesFBODepth); // Create render buffer glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, flamesFBODepth); // Bind the render buffer glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT, sw, sh); glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT, flamesFBODepth);
//Create Texture glGenTextures(1, &flamesFBOTexture); glBindTexture(GL_TEXTURE_2D, flamesFBOTexture); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, sw, sh, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
//FBO glGenFramebuffersEXT(1, &flamesFBO); glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, flamesFBO); glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, flamesFBOTexture, 0); glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT, flamesFBODepth);
//Check if it was successfully created GLenum status = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT); if (status != GL_FRAMEBUFFER_COMPLETE_EXT) return false;
//Unbind... glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); glBindTexture(GL_TEXTURE_2D, 0); glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, 0);
Before I draw stuff that I'd like to go to my FBO glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, flamesFBO); glPushAttrib(GL_VIEWPORT_BIT | GL_ENABLE_BIT); glClearColor (1.0f, 0.0f, 0.0f, 1.0f); glLoadIdentity();
Then its my rendering code, then glPopAttrib(); glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
Afterwards, when I want to render the FBO to the screen... glBindTexture(GL_TEXTURE_2D, flamesFBOTexture); glBegin(GL_QUADS); glTexCoord2f(0.0f, 0.0f); glVertex3f(-1.0f, -1.0f, 0.0f); // Bottom Left
glTexCoord2f(0.0f, 1.0f); glVertex3f(-1.0f, 1.0f, 0.0f); // Top Left
glTexCoord2f(1.0f, 1.0f); glVertex3f(1.0f, 1.0f, 0.0f); // Top Right
glTexCoord2f(1.0f, 0.0f); glVertex3f(1.0f, -1.0f, 0.0f); // Bottom Right glEnd(); glBindTexture(GL_TEXTURE_2D, 0);
And nothing appears (hooray :|)... Any ideas as to what I'm doing wrong?
Logged
|