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

标签 c++ c openscenegraph tessellation

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

.

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

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

最佳答案

非常好!你有没有考虑过为此使用几何着色器? DirectX 11 和 OpenGL 允许使用 GPU 进行“即时” segmentation 。速度快 20-40 倍,具体取决于您的硬件。

我最喜欢的 VS2015/C# 镶嵌动画起点是

https://github.com/RobyDX/SharpDX_Demo/tree/master/SharpDXTutorial/Tutorial11

如果您更喜欢 C/C++ 和 OpenGL,也有很多例子..

http://prideout.net/blog/?p=48

我的一些,我为高度采样纹理位图。在右侧,您会看到一些由我的小三角形中的小法线错误引起的伪影。必须在那个上工作 :)

some of mine

上面的网格是 32x32 的正方形, segmentation 深度为 7。在这里您可以看到展平的网格,显示深度为 1 的 segmentation :

flattened mesh showing tesselation

关于c++ - 高度图的凹多边形近乎均匀的镶嵌,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43494786/

相关文章:

c++ - FPU 控制字设置问题

java - 查找 (x,y) 坐标之间的最大距离

C 低级标准输入接受文件名,然后将文件内容打印到标准输出

c - 关于c编译的问题

c++ - 如何在 openscenegraph 中旋转相机(在模型中穿行)?

c++ - Char模板类型参数

c++ - 用于任意编程语言或 IR 的 AST

c - 如何构建axis2c非官方源代码

python - 如何从 Python 使用 C++ OSG 对象?

c++ - 在支持 obj 文件的 Linux 上静态编译 osgconv