有没有办法用OpenMesh重新投影/插入顶点颜色?

时间:2016-07-26 08:33:32

标签: openmesh

我正在使用OpenMesh重新网格化/管理一些网格对象。 使用细分/抽取/平滑和OpenFlipper中的其他工具,我可以更改网状拓扑。

然而,这会导致顶点颜色失去意义,因为新的顶点都将具有黑色,并且当网格拓扑发生变化时没有插值,从而导致视觉伪影。

有没有办法告诉OpenMesh将顶点颜色重新投影回旧网格以插入顶点颜色? 如果没有,那么手动执行该操作的好方法是什么?顶点反投影是否有最先进的技术?

2 个答案:

答案 0 :(得分:2)

在使用requestTriangleBsp()的OpenFlipper中,您可以为原始网格对象请求BSP树。 (只要您想使用该BS​​P树,就必须保留原始网格的副本。)无论何时想要将点投影到原始网格上,都可以使用nearest()成员函数。 BSP树,以获得与提供的点最接近的面。在此之后,只需将您的点投射到该面,计算重心坐标并插入顶点颜色。

答案 1 :(得分:0)

我认为您想获取有关输出网格的信息:VertexInfo = {原始面ID,重心坐标}。您可以将顶点投影到原始网格以计算VertexInfo。但是,不建议从几何信息中计算拓扑信息。只是认为您的盒子网格几乎是平坦的,我认为您无法通过重新投影来获得正确的VertexInfo。获得VertexInfo的最佳方法是在每个具体命令中根据拓扑信息计算它,就像您提到的细分/抽取等。