我有一个正在使用的BSP树,并且在包括CSG操作在内的许多方面都非常有效。一个不断弹出并且直到最近才成为问题的方案是另一个在半空间平面上的点/三角形的方案。大多数BSP树文档都描述了使用内部和外部子节点构造节点并以此方式进行构造,但是关于“平面上的点”的情况并没有真正提及。目前,对于构造,我假设平面上的点在“内部”,可以很好地工作,这意味着我不需要拆分三角形,但是CSG操作的一部分涉及两个不同网格的合并,这对点飞机场景。目前,我已经实现了采用标志“ onPlaneIsInside”的方法,该标志使我能够解决此合并问题。尽管这还不够,但取决于数据,这让我认为我需要分割平面三角形并进行细分以提供CSGing网格的确切边界。
我的问题是关于这种情况的最佳实践?我认为拆分平面三角形并仅与子节点的内部/外部保持一致可能是需要做的,但是添加另一个“ onPlane”子节点可能性有任何好处。由于在任何BSP文献中都没有对此进行描述,所以这是一个好主意吗?我找不到能做到这一点的描述,这让我觉得这是个坏主意,我应该保持连续地分裂平面三角形,并将点放置在平面上作为“内部”子节点。
非常感谢。
[编辑:]我猜想线索在名字里?在内部/外部/平面上有3个子节点等效吗?