3

我现在正在为一个项目使用行进立方体算法(从 CT 图像实时渲染人类牙齿)。这是渲染结果:

http://www.freeimagehosting.net/uploads/4c2e2c94be.jpg

可以看到 MC 生成的网格不是那么平滑。你们知道任何可以应用于输出 MC 的实时平滑算法吗?或者,是否有任何改进版的 MC 可以生成光滑的表面?

请注意,平滑算法需要快速,因为稍后我必须在大约 30HZ 使用 MC,以便在交互式变形期间重新计算等值面。

4

2 回答 2

2

Catmull-Clark 细分是一种很好的算法,它为平滑提供了非常好的结果。您可以多次应用它。

该算法实现起来非常简单。

关于它是实时的,到目前为止,我只是静态地实现了它,但是 - AFAIK - 绝对有可能将它实现为几何着色器。

Blender中还使用了平滑算法。它不是基于细分(它不修改顶点或面数);它只是重新定位顶点以减少相邻顶点之间的角度。同样,应该可以在 GLSL 中实时实现。

这两个可以一起使用。

于 2010-12-02T09:47:15.953 回答
0

只是一张支票。如果您有重复的顶点,则重新计算法线将不会产生平滑效果。所以,在行进立方体算法之后,一定不要有重复的顶点。我有同样的问题,然后我删除了重复的,现在我有一个平滑的网格

于 2014-05-13T22:06:17.397 回答