From 11ed44c13c227c73d9b2ec416aed54b00bda2a0a Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 18 Nov 2014 09:49:02 +0200 Subject: Support larger custom meshes. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Vertex index was limited to unsigned short, meaning even slightly complex meshes couldn't be used. Changed to unsigned int. Also removed unused vertex indexer methods. Change-Id: Iebe62bd3a501dc79ee2857cca28ac0d05bd4a55e Reviewed-by: Tomi Korpipää --- src/datavisualization/engine/bars3drenderer.cpp | 2 +- src/datavisualization/engine/drawer.cpp | 6 +++--- src/datavisualization/engine/scatter3drenderer.cpp | 6 +++--- src/datavisualization/engine/surface3drenderer.cpp | 3 +-- 4 files changed, 8 insertions(+), 9 deletions(-) (limited to 'src/datavisualization/engine') diff --git a/src/datavisualization/engine/bars3drenderer.cpp b/src/datavisualization/engine/bars3drenderer.cpp index 5768cb1a..09b29173 100644 --- a/src/datavisualization/engine/bars3drenderer.cpp +++ b/src/datavisualization/engine/bars3drenderer.cpp @@ -1124,7 +1124,7 @@ void Bars3DRenderer::drawScene(GLuint defaultFboHandle) glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, barObj->elementBuf()); // Draw the triangles - glDrawElements(GL_TRIANGLES, barObj->indexCount(), GL_UNSIGNED_SHORT, + glDrawElements(GL_TRIANGLES, barObj->indexCount(), GL_UNSIGNED_INT, (void *)0); // Free buffers diff --git a/src/datavisualization/engine/drawer.cpp b/src/datavisualization/engine/drawer.cpp index 38ad4c1a..63bb2c69 100644 --- a/src/datavisualization/engine/drawer.cpp +++ b/src/datavisualization/engine/drawer.cpp @@ -142,7 +142,7 @@ void Drawer::drawObject(ShaderHelper *shader, AbstractObjectHelper *object, GLui glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, object->elementBuf()); // Draw the triangles - glDrawElements(GL_TRIANGLES, object->indexCount(), object->indicesType(), (void*)0); + glDrawElements(GL_TRIANGLES, object->indexCount(), GL_UNSIGNED_INT, (void*)0); // Free buffers glBindBuffer(GL_ARRAY_BUFFER, 0); @@ -177,7 +177,7 @@ void Drawer::drawSelectionObject(ShaderHelper *shader, AbstractObjectHelper *obj glBindBuffer(GL_ARRAY_BUFFER, object->vertexBuf()); glVertexAttribPointer(shader->posAtt(), 3, GL_FLOAT, GL_FALSE, 0, (void *)0); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, object->elementBuf()); - glDrawElements(GL_TRIANGLES, object->indexCount(), GL_UNSIGNED_SHORT, (void *)0); + glDrawElements(GL_TRIANGLES, object->indexCount(), GL_UNSIGNED_INT, (void *)0); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); glBindBuffer(GL_ARRAY_BUFFER, 0); glDisableVertexAttribArray(shader->posAtt()); @@ -194,7 +194,7 @@ void Drawer::drawSurfaceGrid(ShaderHelper *shader, SurfaceObject *object) glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, object->gridElementBuf()); // Draw the lines - glDrawElements(GL_LINES, object->gridIndexCount(), object->indicesType(), (void*)0); + glDrawElements(GL_LINES, object->gridIndexCount(), GL_UNSIGNED_INT, (void*)0); // Free buffers glBindBuffer(GL_ARRAY_BUFFER, 0); diff --git a/src/datavisualization/engine/scatter3drenderer.cpp b/src/datavisualization/engine/scatter3drenderer.cpp index d0db28de..d58ca18e 100644 --- a/src/datavisualization/engine/scatter3drenderer.cpp +++ b/src/datavisualization/engine/scatter3drenderer.cpp @@ -641,8 +641,8 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, dotObj->elementBuf()); // Draw the triangles - glDrawElements(GL_TRIANGLES, dotObj->indexCount(), GL_UNSIGNED_SHORT, - (void *)0); + glDrawElements(GL_TRIANGLES, dotObj->indexCount(), + GL_UNSIGNED_INT, (void *)0); // Free buffers glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); @@ -662,7 +662,7 @@ void Scatter3DRenderer::drawScene(const GLuint defaultFboHandle) // Draw the triangles glDrawElements(GL_TRIANGLES, object->indexCount(), - object->indicesType(), (void *)0); + GL_UNSIGNED_INT, (void *)0); // Free buffers glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp index 6f804d16..c09cc4e3 100644 --- a/src/datavisualization/engine/surface3drenderer.cpp +++ b/src/datavisualization/engine/surface3drenderer.cpp @@ -1216,8 +1216,7 @@ void Surface3DRenderer::drawScene(GLuint defaultFboHandle) glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, object->elementBuf()); // Draw the triangles - glDrawElements(GL_TRIANGLES, object->indexCount(), - object->indicesType(), (void *)0); + glDrawElements(GL_TRIANGLES, object->indexCount(), GL_UNSIGNED_INT, (void *)0); } } -- cgit v1.2.3