Browse Source

Revert "Show "ghosts" for all objects on the buildplate in layerview"

This reverts commit b765855ba5d3bb96d7113e485e34c4e8b8f3cd49.
fieldOfView 8 years ago
parent
commit
0f9b989ae8
1 changed files with 10 additions and 8 deletions
  1. 10 8
      plugins/LayerView/LayerView.py

+ 10 - 8
plugins/LayerView/LayerView.py

@@ -33,7 +33,7 @@ class LayerView(View):
     def __init__(self):
         super().__init__()
         self._shader = None
-        self._ghost_shader = None
+        self._selection_shader = None
         self._num_layers = 0
         self._layer_percentage = 0  # what percentage of layers need to be shown (Slider gives value between 0 - 100)
         self._proxy = LayerViewProxy.LayerViewProxy()
@@ -84,9 +84,10 @@ class LayerView(View):
         scene = self.getController().getScene()
         renderer = self.getRenderer()
 
-        if not self._ghost_shader:
-            self._ghost_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "color.shader"))
-            self._ghost_shader.setUniformValue("u_color", Color(32, 32, 32, 96))
+        if not self._selection_shader:
+            self._selection_shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "color.shader"))
+            self._selection_shader.setUniformValue("u_color", Color(32, 32, 32, 128))
+
         for node in DepthFirstIterator(scene.getRoot()):
             # We do not want to render ConvexHullNode as it conflicts with the bottom layers.
             # However, it is somewhat relevant when the node is selected, so do render it then.
@@ -95,7 +96,8 @@ class LayerView(View):
 
             if not node.render(renderer):
                 if node.getMeshData() and node.isVisible():
-                    renderer.queueNode(node, transparent = True, shader = self._ghost_shader)
+                    if Selection.isSelected(node):
+                        renderer.queueNode(node, transparent = True, shader = self._selection_shader)
                     layer_data = node.callDecoration("getLayerData")
                     if not layer_data:
                         continue
@@ -111,13 +113,13 @@ class LayerView(View):
                             end += counts
 
                         # This uses glDrawRangeElements internally to only draw a certain range of lines.
-                        renderer.queueNode(node, mesh = layer_data, mode = RenderBatch.RenderMode.Lines, overlay = True, range = (start, end))
+                        renderer.queueNode(node, mesh = layer_data, mode = RenderBatch.RenderMode.Lines, range = (start, end))
 
                     if self._current_layer_mesh:
-                        renderer.queueNode(node, mesh = self._current_layer_mesh, overlay = True)
+                        renderer.queueNode(node, mesh = self._current_layer_mesh)
 
                     if self._current_layer_jumps:
-                        renderer.queueNode(node, mesh = self._current_layer_jumps, overlay = True)
+                        renderer.queueNode(node, mesh = self._current_layer_jumps)
 
     def setLayer(self, value):
         if self._current_layer_num != value: