Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaime van Kessel <nallath@gmail.com>2020-06-24 11:42:35 +0300
committerJaime van Kessel <nallath@gmail.com>2020-06-24 11:42:35 +0300
commitb1fe4793e43652abb8bdf60718f3b4bafe1a90e9 (patch)
treec0912b179237c18810529735fa81c3f1a1f145a9 /plugins/SolidView
parent03e66beafdfd538b55b65337843cce3f452d98fe (diff)
Put all objects normal models in a single render batch
THis speeds things up a fair bit for build plates with multiple models CURA-7106
Diffstat (limited to 'plugins/SolidView')
-rw-r--r--plugins/SolidView/SolidView.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/plugins/SolidView/SolidView.py b/plugins/SolidView/SolidView.py
index e1789e34ed..b65c75aaa1 100644
--- a/plugins/SolidView/SolidView.py
+++ b/plugins/SolidView/SolidView.py
@@ -187,7 +187,9 @@ class SolidView(View):
else:
self._enabled_shader.setUniformValue("u_overhangAngle", math.cos(math.radians(0)))
disabled_batch = renderer.createRenderBatch(shader = self._disabled_shader)
+ normal_object_batch = renderer.createRenderBatch(shader = self._enabled_shader)
renderer.addRenderBatch(disabled_batch)
+ renderer.addRenderBatch(normal_object_batch)
for node in DepthFirstIterator(scene.getRoot()):
if node.render(renderer):
continue
@@ -246,7 +248,7 @@ class SolidView(View):
]
renderer.queueNode(node, shader = self._support_mesh_shader, uniforms = uniforms)
else:
- renderer.queueNode(node, shader = self._enabled_shader, uniforms = uniforms)
+ normal_object_batch.addItem(node.getWorldTransformation(copy=False), node.getMeshData(), uniforms=uniforms)
if node.callDecoration("isGroup") and Selection.isSelected(node):
renderer.queueNode(scene.getRoot(), mesh = node.getBoundingBoxMesh(), mode = RenderBatch.RenderMode.LineLoop)