适用于基于体素的地形的密度函数?

时间:2012-02-19 01:25:58

标签: terrain procedural voxel marching-cubes

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

但现在我想让算法更进一步,为游戏渲染一些有趣的地形。所以我需要适当的密度函数来完成这项任务。 我头脑中的第一件事是Volumetric Perlin Noise。没关系,但我正在寻找没有凸形的地形,我的意思是,目前没有洞穴和类似的几何形状。

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

1 个答案:

答案 0 :(得分:2)

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

以下是使用sample code库的一些PolyVox