2

我正在尝试使用 vcglib 保存顶点的颜色但失败了。即使我读入一个文件并保存它而不做任何事情,原始文件的颜色也会丢失。这是我写的代码:

vcg::tri::io::ImporterPLY<MyMesh>::Open(*srcMesh,"bunny.ply");   
vcg::tri::io::ExporterPLY<MyMesh>::Save(*srcMesh,"out.ply");

完成此操作后,out.ply 没有颜色,而源 ply bunny.ply 有。有人可以给我一些示例代码来完成这件事吗?谢谢!

4

1 回答 1

4

几周前我遇到了完全相同的问题。在使用调试器并浏览了大量源代码后,我发现 open 和 save 方法需要共享一个 int 掩码。这允许 Open 方法传达已从原始网格中读取哪些属性(此外,请确保已将 Colour4b 属性添加到网格定义中。

int mask=0;
vcg::tri::io::ImporterPLY<MyMesh>::Open(*srcMesh,"bunny.ply",mask);   
vcg::tri::io::ExporterPLY<MyMesh>::Save(*srcMesh,"out.ply",mask);

我希望这会有所帮助。

于 2014-10-27T20:45:47.250 回答