diff --git a/src/Magnum/MeshTools/Concatenate.h b/src/Magnum/MeshTools/Concatenate.h index 84e131040..54e055b1d 100644 --- a/src/Magnum/MeshTools/Concatenate.h +++ b/src/Magnum/MeshTools/Concatenate.h @@ -133,7 +133,9 @@ template class Allocator = Containers::ArrayAllocator> void conc there, otherwise attributes that are not present in `meshes` would be garbage */ Containers::arrayResize(vertexData, 0); - Containers::arrayResize(vertexData, ValueInit, attributeStride*indexVertexCount.second); + /* A cast to std::size_t is needed in order to allow sizes over 4 GB on + 64-bit */ + Containers::arrayResize(vertexData, ValueInit, attributeStride*std::size_t(indexVertexCount.second)); } destination = Implementation::concatenate(std::move(indexData), indexVertexCount.second, std::move(vertexData), std::move(attributeData), meshes, "MeshTools::concatenateInto():");