1

我已经设法在 C# 中实现了 Marching Cubes 算法。到目前为止,我已经尝试过渲染球体的算法。这很容易,因为密度函数的编码不是很复杂。

但现在我想让算法更进一步,为游戏渲染一些有趣的地形。所以我需要适当的密度函数来完成这项任务。我首先想到的是体积 Perlin 噪声。没关系,但我正在寻找一个没有凸形的地形,我的意思是,目前没有洞穴和类似的几何形状。

好的,我知道一个简单的高度图可以完成这项工作,但我想要一个体素生成的地形。我需要什么类型的密度函数或伪代码来实现它们?

4

1 回答 1

2

您可以轻松地将高度图转换为体素地形。高度图中的每个像素对应于体素世界中的一列体素。对于高度图中的给定像素,读取高度。然后遍历相应列中的每个体素,如果它小于参考高度,则将其设置为“实心”,如果大于参考高度,则将其设置为“空”。

这是一些使用PolyVox库的示例代码。

于 2012-02-19T08:18:35.343 回答