fix framebuffer

This commit is contained in:
Eduardo Bart
2011-08-11 23:04:28 -03:00
parent f78d1c91b0
commit 7cf188a67d
3 changed files with 11 additions and 3 deletions

View File

@@ -78,6 +78,9 @@ FrameBuffer::FrameBuffer(int width, int height)
m_fallbackOldImp = true;
break;
}
// restore back buffer
oglBindFramebuffer(GL_FRAMEBUFFER_EXT, 0);
} else {
// otherwise fallback to copy texture from screen implementation
m_fallbackOldImp = true;
@@ -147,6 +150,8 @@ void FrameBuffer::draw(int x, int y, int width, int height)
{
g_graphics.disableDrawing();
glEnable(GL_TEXTURE_2D);
glColor4ubv(Color::white.rgbaPtr());
glBindTexture(GL_TEXTURE_2D, m_fboTexture);
glBegin(GL_QUADS);
glTexCoord2i(0, 0); glVertex2i(x, y);

View File

@@ -33,7 +33,6 @@ void Graphics::init()
glEnable(GL_ALPHA_TEST); // enable alpha by default
glAlphaFunc(GL_GREATER, 0.0f); // default alpha mode
glDisable(GL_DEPTH_TEST); // we are rendering 2D only, we don't need it
glEnable(GL_TEXTURE_2D); // enable textures by default
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
glShadeModel(GL_SMOOTH);
glEnable(GL_BLEND);
@@ -127,6 +126,9 @@ void Graphics::disableDrawing()
if(m_drawMode != DRAW_NONE) {
glEnd();
m_drawMode = DRAW_NONE;
m_bindedTexture.reset();
glColor4ubv(Color::white.rgbaPtr());
}
}