diff --git a/src/modules/graphics/opengl/Mesh.cpp b/src/modules/graphics/opengl/Mesh.cpp index 10597568f..8d3befb1a 100644 --- a/src/modules/graphics/opengl/Mesh.cpp +++ b/src/modules/graphics/opengl/Mesh.cpp @@ -55,6 +55,7 @@ Mesh::Mesh(int vertexcount, Mesh::DrawMode mode) , ibo(nullptr) , element_count(0) , element_data_type(getGLDataTypeFromMax(vertexcount)) + , instance_count(1) , draw_mode(mode) , range_min(-1) , range_max(-1) @@ -232,10 +233,10 @@ void Mesh::setVertexMap(const std::vector &map) * Copies index data from a mapped buffer to a vector. **/ template -static void copyFromIndexBuffer(void *buffer, std::vector &indices, size_t maxval) +static void copyFromIndexBuffer(void *buffer, size_t count, std::vector &indices) { T *elems = (T *) buffer; - for (size_t i = 0; i < maxval; i++) + for (size_t i = 0; i < count; i++) indices.push_back((uint32) elems[i]); } @@ -256,14 +257,14 @@ void Mesh::getVertexMap(std::vector &map) const switch (element_data_type) { case GL_UNSIGNED_BYTE: - copyFromIndexBuffer(buffer, map, vertex_count); + copyFromIndexBuffer(buffer, element_count, map); break; case GL_UNSIGNED_SHORT: - copyFromIndexBuffer(buffer, map, vertex_count); + copyFromIndexBuffer(buffer, element_count, map); break; case GL_UNSIGNED_INT: default: - copyFromIndexBuffer(buffer, map, vertex_count); + copyFromIndexBuffer(buffer, element_count, map); break; } }