显示带有颜色的OBJ文件



我正在读取程序的.OBJ文件,并对它们进行曲率计算。现在的.OBJ文件是三角网格,带有顶点和面。他们没有任何关联的.mtl文件。根据曲率,我必须为每个顶点分配颜色,并且所有顶点都不同。我想立即显示.OBJ文件,但是我希望根据分配给它们的颜色对顶点进行颜色。显示此类文件的最佳方法是什么?

最初,我想到编写自己的.mtl文件并修改我的输入.obj文件。但是,由于顶点的数量为〜50000,每个顶点的颜色都有自己的颜色,指定一个带有〜50000材料的.mtl文件似乎确实很艰巨。

我在某个地方阅读了。

事先感谢您的任何帮助。在可视化方面,我是新手。

我相信,以ply文件格式保存网格要容易得多,您将获得一个包含所有内容的文件:三角形,顶点和颜色。

为此,必须在

之后在ply文件标头中指定
element vertex _numVertices_
property float x
property float y
property float z

3 RGB顶点颜色的其他属性:

property uchar red
property uchar green
property uchar blue

其中 uchar表示每个颜色组件的一个未符号字符。

然后在ply的主体中,每个顶点将由3 float顶点坐标和3 uchar s表示,用于顶点RGB颜色。

实施之一是在Meshlib中,请参见

/// saves in .ply file
MRMESH_API tl::expected<void, std::string> toPly( const Mesh& mesh, const std::filesystem::path& file, const Vector<Color, VertId>* colors = nullptr,
                                                  ProgressCallback callback = {} );
MRMESH_API tl::expected<void, std::string> toPly( const Mesh & mesh, std::ostream & out, const Vector<Color, VertId>* colors = nullptr,
                                                  ProgressCallback callback = {} );

相关内容

  • 没有找到相关文章

最新更新