Browse Source

Primitives: use a more efficient duplicate removal approach in Icosphere.

It's still extremely bad, but at least something.
pull/371/head
Vladimír Vondruš 6 years ago
parent
commit
1c74a87f24
  1. 3
      src/Magnum/Primitives/Icosphere.cpp

3
src/Magnum/Primitives/Icosphere.cpp

@ -27,7 +27,6 @@
#include "Magnum/Mesh.h"
#include "Magnum/Math/Color.h"
#include "Magnum/MeshTools/Duplicate.h"
#include "Magnum/MeshTools/RemoveDuplicates.h"
#include "Magnum/MeshTools/Subdivide.h"
#include "Magnum/Trade/MeshData3D.h"
@ -78,7 +77,7 @@ Trade::MeshData3D icosphereSolid(const UnsignedInt subdivisions) {
return (a+b).normalized();
});
indices = MeshTools::duplicate(indices, MeshTools::removeDuplicates(positions));
positions.resize(MeshTools::removeDuplicatesIndexedInPlace(Containers::stridedArrayView(indices), Containers::stridedArrayView(positions)));
std::vector<Vector3> normals(positions);
return Trade::MeshData3D{MeshPrimitive::Triangles, std::move(indices), {std::move(positions)}, {std::move(normals)}, {}, {}, nullptr};

Loading…
Cancel
Save