From: daid Date: Thu, 20 Feb 2014 07:12:49 +0000 (+0100) Subject: Fix fallback if VBOs are not supported, for the case where indices are used. X-Git-Tag: 14.02-RC3~4 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=489f9e48946e27e4ac917fefe0545815a1686371;p=cura.git Fix fallback if VBOs are not supported, for the case where indices are used. --- diff --git a/Cura/gui/util/openglHelpers.py b/Cura/gui/util/openglHelpers.py index ebf4c241..20d2abd4 100644 --- a/Cura/gui/util/openglHelpers.py +++ b/Cura/gui/util/openglHelpers.py @@ -142,6 +142,8 @@ class GLVBO(GLReferenceCounter): self._buffer = None self._hasNormals = self._normalArray is not None self._hasIndices = self._indicesArray is not None + if self._hasIndices: + self._size = len(indicesArray) else: self._buffer = glGenBuffers(1) self._size = len(vertexArray) @@ -178,7 +180,10 @@ class GLVBO(GLReferenceCounter): glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, self._bufferIndices) if self._hasIndices: - glDrawElements(self._renderType, self._size, GL_UNSIGNED_INT, c_void_p(0)) + if self._buffer is None: + glDrawElements(self._renderType, self._size, GL_UNSIGNED_INT, self._indicesArray) + else: + glDrawElements(self._renderType, self._size, GL_UNSIGNED_INT, c_void_p(0)) else: batchSize = 996 #Warning, batchSize needs to be dividable by 4 (quads), 3 (triangles) and 2 (lines). Current value is magic. extraStartPos = int(self._size / batchSize) * batchSize #leftovers.