@@ -69,7 +69,7 @@ class LayerDataBuilder(MeshBuilder):
vertex_offset = 0
index_offset = 0
- for layer, data in self._layers.items():
+ for layer, data in sorted(self._layers.items()):
( vertex_offset, index_offset ) = data.build( vertex_offset, index_offset, vertices, colors, line_dimensions, extruders, line_types, indices)
self._element_counts[layer] = data.elementCount
@@ -82,12 +82,12 @@ class LayerPass(RenderPass):
start = 0
end = 0
element_counts = layer_data.getElementCounts()
- for layer, counts in element_counts.items():
+ for layer in sorted(element_counts.keys()):
if layer > self._layer_view._current_layer_num:
break
if self._layer_view._minimum_layer_num > layer:
- start += counts
- end += counts
+ start += element_counts[layer]
+ end += element_counts[layer]
# This uses glDrawRangeElements internally to only draw a certain range of lines.
batch = RenderBatch(self._layer_shader, type = RenderBatch.RenderType.Solid, mode = RenderBatch.RenderMode.Lines, range = (start, end))