如何使用vcglib保存颜色?

时间:2014-10-20 02:38:25

标签: file colors model 3d vcg

我尝试使用vcglib保存顶点的颜色但是失败了。即使我读取文件并将其保存而不做任何操作,原始文件的颜色也会丢失。 这是我写的代码:

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

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

1 个答案:

答案 0 :(得分:3)

几个星期前我遇到了完全相同的问题。 在花了一些时间使用调试器并浏览大量源代码之后,我发现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);

我希望有所帮助。