From 03e66beafdfd538b55b65337843cce3f452d98fe Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 23 Jun 2020 17:12:47 +0200 Subject: Re-use some render batches This prevents us from having to re-create them everytime CURA-7106 --- cura/Scene/ConvexHullNode.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'cura/Scene') diff --git a/cura/Scene/ConvexHullNode.py b/cura/Scene/ConvexHullNode.py index 13e8a1969c..cb4cffca12 100644 --- a/cura/Scene/ConvexHullNode.py +++ b/cura/Scene/ConvexHullNode.py @@ -86,8 +86,11 @@ class ConvexHullNode(SceneNode): ConvexHullNode.shader = OpenGL.getInstance().createShaderProgram(Resources.getPath(Resources.Shaders, "transparent_object.shader")) ConvexHullNode.shader.setUniformValue("u_diffuseColor", self._color) ConvexHullNode.shader.setUniformValue("u_opacity", 0.6) - - renderer.queueNode(self, transparent = True, shader = ConvexHullNode.shader, backface_cull = True, sort = -8) + batch = renderer.getNamedBatch("convex_hull_node") + if not batch: + batch = renderer.createRenderBatch(transparent = True, shader = ConvexHullNode.shader, backface_cull = True, sort = -8) + renderer.addRenderBatch(batch, name = "convex_hull_node") + batch.addItem(self.getWorldTransformation(copy = False), self.getMeshData()) if self._convex_hull_head_mesh: # The full head. Rendered as a hint to the user: If this area overlaps another object A; this object # cannot be printed after A, because the head would hit A while printing the current object -- cgit v1.2.3