diff --git a/src/Gui/GLPainter.cpp b/src/Gui/GLPainter.cpp index df1ae5270f7a..d04d39081c48 100644 --- a/src/Gui/GLPainter.cpp +++ b/src/Gui/GLPainter.cpp @@ -261,8 +261,10 @@ void Rubberband::paintGL() SbVec2s size = vp.getViewportSizePixels(); glMatrixMode(GL_PROJECTION); + glLoadIdentity(); glOrtho(0, size[0], size[1], 0, 0, 100); glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); glDisable(GL_TEXTURE_2D); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); @@ -372,8 +374,10 @@ void Polyline::paintGL() SbVec2s size = vp.getViewportSizePixels(); glMatrixMode(GL_PROJECTION); + glLoadIdentity(); glOrtho(0, size[0], size[1], 0, 0, 100); glMatrixMode(GL_MODELVIEW); + glLoadIdentity(); glDisable(GL_TEXTURE_2D); glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); diff --git a/src/Gui/MouseSelection.cpp b/src/Gui/MouseSelection.cpp index 7c2ce7d95d98..a2d53223ed41 100644 --- a/src/Gui/MouseSelection.cpp +++ b/src/Gui/MouseSelection.cpp @@ -261,7 +261,7 @@ void PolyPickerSelection::initialize() polyline.setColor(0.0,0.0,1.0,1.0); _pcView3D->addGraphicsItem(&polyline); - _pcView3D->setRenderType(View3DInventorViewer::Framebuffer); + _pcView3D->setRenderType(View3DInventorViewer::Image); _pcView3D->redraw(); } diff --git a/src/Gui/View3DInventorViewer.cpp b/src/Gui/View3DInventorViewer.cpp index 16db2072e9d0..53d8b49b0a35 100644 --- a/src/Gui/View3DInventorViewer.cpp +++ b/src/Gui/View3DInventorViewer.cpp @@ -1321,11 +1321,14 @@ void View3DInventorViewer::renderGLImage() glViewport(0, 0, size[0], size[1]); glMatrixMode(GL_PROJECTION); glLoadIdentity(); + glOrtho(0, size[0], 0, size[1], 0, 100); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); - glDisable(GL_DEPTH_TEST); + glDisable(GL_DEPTH_TEST); glClear(GL_COLOR_BUFFER_BIT); + + glRasterPos2f(0,0); glDrawPixels(glImage.width(),glImage.height(),GL_RGBA,GL_UNSIGNED_BYTE,glImage.bits()); printDimension(); @@ -1359,6 +1362,7 @@ void View3DInventorViewer::renderScene(void) const QColor col = this->backgroundColor(); glClearColor(col.redF(), col.greenF(), col.blueF(), 0.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glEnable(GL_DEPTH_TEST); #if defined(ENABLE_GL_DEPTH_RANGE) // using 90% of the z-buffer for the background and the main node diff --git a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp index a3651a727291..4f266b396916 100644 --- a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp +++ b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp @@ -752,9 +752,7 @@ bool ViewProviderSketch::mouseButtonPressed(int Button, bool pressed, const SbVe rubberband->setWorking(false); //disable framebuffer drawing in viewer - if (Gui::Application::Instance->activeDocument()->getActiveView()) { - static_cast(Gui::Application::Instance->activeDocument()->getActiveView())->getViewer()->setRenderType(Gui::View3DInventorViewer::Native); - } + const_cast(viewer)->setRenderType(Gui::View3DInventorViewer::Native); // a redraw is required in order to clear the rubberband draw(true); @@ -1085,7 +1083,7 @@ bool ViewProviderSketch::mouseMove(const SbVec2s &cursorPos, Gui::View3DInventor case STATUS_SKETCH_StartRubberBand: { Mode = STATUS_SKETCH_UseRubberBand; rubberband->setWorking(true); - viewer->setRenderType(Gui::View3DInventorViewer::Framebuffer); + viewer->setRenderType(Gui::View3DInventorViewer::Image); return true; } case STATUS_SKETCH_UseRubberBand: {