【发布时间】:2014-07-04 09:58:07
【问题描述】:
我在分离网格时遇到了问题。有一个组合网格,它有 1 个顶点缓冲区和 1 个三角形索引缓冲区。但网格至少有 2 个单独的对象。例如,有 2 个四边形没有共享顶点(当然也没有共享索引),它们的几何图形位于 1 个单个网格中(1 个顶点缓冲区,1 个索引缓冲区)。那么如何从它们创建 2 个网格。有什么算法吗?
我尝试在新网格中添加第一个顶点,然后查找指向该顶点的索引,然后将此索引及其相关的三角形的 2 个索引(和顶点)添加到新网格,但必须更改索引。
很抱歉错过了有关我的问题的信息。我认为逻辑上的分离。例如在编程中。如果下面的单个网格具有如图中所示的未共享子网格。我希望它分成 2 个网格类。我想要一个算法,一个数学解决方案,而不是一个为我做这件事的工具。
【问题讨论】:
-
如果是这种情况,您使用的是什么 3D 应用程序。
-
我正在使用 Unity,但这对我来说并不重要
-
例如,在 Maya 中这将是一项简单的任务,从未使用过统一。我不确定你是否可以编辑网格或者它是否是程序生成的(?)
-
你打算用网格做什么?如果你想绘制它们,我建议不要触及顶点缓冲区,只创建两个单独的索引缓冲区。如果您无论如何都需要 GPU 上的顶点数据,则没有理由将其放在两个单独的缓冲区中。可以使用联合查找数据结构进行拆分。
-
一定要做,不能只画图。