我得到了一个不能有孔的凹多边形的轮廓/边界,我需要对其应用高度图。为此,我需要像这样对多边形进行近乎均匀的细分:
.
如何执行此细分?理想情况下,该解决方案可以参数化内部顶点的“分辨率”以调整细分的细节。
我正在使用 OpenSceneGraph,所以如果使用它的内置曲面细分库以某种方式可能的话,那将是理想的,但我愿意在必要时引入一个额外的(希望是轻量级的)依赖项。
我得到了一个不能有孔的凹多边形的轮廓/边界,我需要对其应用高度图。为此,我需要像这样对多边形进行近乎均匀的细分:
.
如何执行此细分?理想情况下,该解决方案可以参数化内部顶点的“分辨率”以调整细分的细节。
我正在使用 OpenSceneGraph,所以如果使用它的内置曲面细分库以某种方式可能的话,那将是理想的,但我愿意在必要时引入一个额外的(希望是轻量级的)依赖项。
非常好 !你有没有考虑过为此使用几何着色器?DirectX 11 和 OpenGL 允许使用 GPU 进行“动态”细分。它的速度要快 20-40 倍,具体取决于您的硬件。
我最喜欢的 VS2015/C# 镶嵌动画的起点是
https://github.com/RobyDX/SharpDX_Demo/tree/master/SharpDXTutorial/Tutorial11
如果您更喜欢 C/C++ 和 OpenGL,也有很多示例。
http://prideout.net/blog/?p=48
我的一些,我对高度的纹理位图进行采样。在右边,你会看到一些由我的小三角形中的小正常错误引起的伪影.. 必须处理那个:)
上面的网格是 32x32 正方形,镶嵌深度为 7。在这里您可以看到扁平网格,显示深度为 1 的镶嵌:
这个问题并没有引起太大的兴趣,但是我使用 Google 难以理解的Triangle库取得了相当不错的结果。
如果我决定希望三角剖分在多边形内部严格统一,我可能会为 Triangle 提供一组顶点以进一步约束细分。