From aa689dc2fb1fc1cd8207b8d2b54768d6c02b9979 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Thu, 1 Sep 2016 13:34:18 +0200 Subject: [PATCH] Fix layerview for grouped objects The "ghosts" would be rendered over grouped objects, thereby making them not visible. Note that this quick fix comes at the price of slightly "muddying" all the layerview colors. A better fix was proposed here (but it is not yet working correctly): https://github.com/Ultimaker/Cura/pull/906 CURA-2246 --- plugins/LayerView/LayerView.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/LayerView/LayerView.py b/plugins/LayerView/LayerView.py index 791ca0e153..801f4797dd 100644 --- a/plugins/LayerView/LayerView.py +++ b/plugins/LayerView/LayerView.py @@ -86,7 +86,7 @@ class LayerView(View): if not self._ghost_shader: self._ghost_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "color.shader")) - self._ghost_shader.setUniformValue("u_color", Color(0, 0, 0, 72)) + self._ghost_shader.setUniformValue("u_color", Color(0, 0, 0, 64)) for node in DepthFirstIterator(scene.getRoot()): # We do not want to render ConvexHullNode as it conflicts with the bottom layers. @@ -98,10 +98,10 @@ class LayerView(View): if node.getMeshData() and node.isVisible(): renderer.queueNode(node, shader = self._ghost_shader, - state_setup_callback = lambda gl: gl.glDepthMask(gl.GL_FALSE), - state_teardown_callback = lambda gl: gl.glDepthMask(gl.GL_TRUE) - ) + type = RenderBatch.RenderType.Transparent ) + for node in DepthFirstIterator(scene.getRoot()): + if type(node) is SceneNode: if node.getMeshData() and node.isVisible(): layer_data = node.callDecoration("getLayerData") if not layer_data: