Browse Source

MeshTools: make compile() actually working with indexed meshes.

I was drunk out of my mind. Apparently didn't test once.
pull/55/merge snapshot-2014-06
Vladimír Vondruš 12 years ago
parent
commit
a35ce64752
  1. 6
      src/Magnum/MeshTools/Compile.cpp

6
src/Magnum/MeshTools/Compile.cpp

@ -83,7 +83,7 @@ std::tuple<Mesh, std::unique_ptr<Buffer>, std::unique_ptr<Buffer>> compile(const
std::tie(indexData, indexType, indexStart, indexEnd) = MeshTools::compressIndices(meshData.indices()); std::tie(indexData, indexType, indexStart, indexEnd) = MeshTools::compressIndices(meshData.indices());
indexBuffer.reset(new Buffer{Buffer::Target::ElementArray}); indexBuffer.reset(new Buffer{Buffer::Target::ElementArray});
indexBuffer->setData(data, usage); indexBuffer->setData(indexData, usage);
mesh.setCount(meshData.indices().size()) mesh.setCount(meshData.indices().size())
.setIndexBuffer(*indexBuffer, 0, indexType, indexStart, indexEnd); .setIndexBuffer(*indexBuffer, 0, indexType, indexStart, indexEnd);
@ -155,12 +155,12 @@ std::tuple<Mesh, std::unique_ptr<Buffer>, std::unique_ptr<Buffer>> compile(const
std::tie(indexData, indexType, indexStart, indexEnd) = MeshTools::compressIndices(meshData.indices()); std::tie(indexData, indexType, indexStart, indexEnd) = MeshTools::compressIndices(meshData.indices());
indexBuffer.reset(new Buffer{Buffer::Target::ElementArray}); indexBuffer.reset(new Buffer{Buffer::Target::ElementArray});
indexBuffer->setData(data, usage); indexBuffer->setData(indexData, usage);
mesh.setCount(meshData.indices().size()) mesh.setCount(meshData.indices().size())
.setIndexBuffer(*indexBuffer, 0, indexType, indexStart, indexEnd); .setIndexBuffer(*indexBuffer, 0, indexType, indexStart, indexEnd);
/* Else set vertex count */ /* Else set vertex count */
} mesh.setCount(meshData.positions(0).size()); } else mesh.setCount(meshData.positions(0).size());
return std::make_tuple(std::move(mesh), std::move(vertexBuffer), std::move(indexBuffer)); return std::make_tuple(std::move(mesh), std::move(vertexBuffer), std::move(indexBuffer));
} }

Loading…
Cancel
Save