From e6b310fce9598eecddd9681086f60eda0273f1b4 Mon Sep 17 00:00:00 2001 From: Christopher Tenter Date: Mon, 26 Jan 2015 19:09:55 +0000 Subject: [PATCH] assumption that the drawbuffer is always GL_BACK might be problematic refs #2361 git-svn-id: http://www.openflipper.org/svnrepo/OpenFlipper/branches/Free@20195 383ad7c9-94d9-4d36-a494-682f7c89f535 --- widgets/glWidget/QtBaseViewer.cc | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/widgets/glWidget/QtBaseViewer.cc b/widgets/glWidget/QtBaseViewer.cc index 143678a9..8839d86b 100644 --- a/widgets/glWidget/QtBaseViewer.cc +++ b/widgets/glWidget/QtBaseViewer.cc @@ -643,6 +643,13 @@ void glViewer::drawScene() // // } + // save hardware backbuffer + GLuint backbufferFbo = 0; + GLuint backbufferTarget = 0; + glGetIntegerv(GL_DRAW_FRAMEBUFFER_BINDING, (GLint*)&backbufferFbo); + glGetIntegerv(GL_DRAW_BUFFER, (GLint*)&backbufferTarget); + + // Clear back buffer here: // Render plugins do not have to worry about using scissor test for clearing their viewports later on. glClearColor(properties_.backgroundColor()[0], properties_.backgroundColor()[1], @@ -731,11 +738,6 @@ void glViewer::drawScene() // Post-Processing pipeline if (numPostProcessors || stereoAnaglyph) { - GLuint backbufferFbo = 0; - GLuint backbufferTarget = 0; - glGetIntegerv(GL_DRAW_FRAMEBUFFER_BINDING, (GLint*)&backbufferFbo); - glGetIntegerv(GL_DRAW_BUFFER, (GLint*)&backbufferTarget); - updatePostProcessingBufs(glstate_->viewport_width(),glstate_->viewport_height()); @@ -871,7 +873,7 @@ void glViewer::drawScene() // ================================================================================= - glDrawBuffer(GL_BACK); + glDrawBuffer(backbufferTarget); // unbind vbo for qt log window ACG::GLState::bindBuffer(GL_ARRAY_BUFFER, 0); -- GitLab