高度图的凹多边形近乎均匀的镶嵌

Near-uniform tessellation of a concave polygon for heightmaps

我得到了一个不能有洞的凹多边形 contour/boundary,我需要对其应用高度图。为此,我需要像这样对多边形执行近乎均匀的细分:

如何执行此细分?理想情况下,该解决方案可以参数化内部顶点的 'resolution' 以调整曲面细分的细节。

我正在使用 OpenSceneGraph,因此,如果可以使用其内置的曲面细分库,那将是理想的选择,但我愿意在必要时引入额外的(希望是轻量级的)依赖项。

这个问题并没有引起太大的兴趣,但我使用难以Google Triangle 库取得了相当不错的结果。

如果我决定我希望三角剖分在多边形内部严格均匀,我可能可以为三角形提供一组顶点以进一步约束曲面细分。

非常好!你有没有考虑过为此使用几何着色器? DirectX 11 和 OpenGL 允许 "on the fly" 使用 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 的细分: