From 7a874bdbdd2e29b0b44665f684b94a08bfd61e5e Mon Sep 17 00:00:00 2001 From: wmayer Date: Tue, 10 Dec 2019 15:03:46 +0100 Subject: [PATCH] Mesh: In ViewProviderMesh::getVisibleFacets replace SoFCOffscreenRenderer with SoQtOffscreenRenderer to due issues with Indirect GLX on recent Linux systems [skip ci] --- src/Mod/Mesh/Gui/ViewProvider.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Mod/Mesh/Gui/ViewProvider.cpp b/src/Mod/Mesh/Gui/ViewProvider.cpp index 935e815039..de2506627f 100644 --- a/src/Mod/Mesh/Gui/ViewProvider.cpp +++ b/src/Mod/Mesh/Gui/ViewProvider.cpp @@ -1364,7 +1364,7 @@ private: std::vector ViewProviderMesh::getVisibleFacets(const SbViewportRegion& vp, SoCamera* camera) const { -#if 1 +#if 0 Q_UNUSED(vp) SbVec3f pos = camera->position.getValue(); @@ -1437,8 +1437,14 @@ std::vector ViewProviderMesh::getVisibleFacets(const SbViewportRe root->addChild(this->getCoordNode()); root->addChild(this->getShapeNode()); + // Coin3d's off-screen renderer doesn't work out-of-the-box any more on most recent Linux systems. + // So, use FreeCAD's offscreen renderer now. +#if 0 Gui::SoFCOffscreenRenderer& renderer = Gui::SoFCOffscreenRenderer::instance(); renderer.setViewportRegion(vp); +#else + Gui::SoQtOffscreenRenderer renderer(vp); +#endif renderer.setBackgroundColor(SbColor(0.0f, 0.0f, 0.0f)); QImage img;