从2D功能制作3D perlin噪声功能

时间:2012-04-19 00:57:15

标签: c opengl noise perlin-noise

所以,我试图绘制使用openGL随时间变化的抽象形状。为此,我想使用Perlin噪声函数。这段代码(http://www.sorgonet.com/linux/noise_textures/)对我来说是一个完美的开始,除了这里找到的函数只需要两个坐标。我想要一个带有两个空间坐标的坐标,第三个坐标将随时间变化。

我的问题是:是否可以调整此功能以使用另一个坐标?

2 个答案:

答案 0 :(得分:1)

是的,这是可能的。

您可以将时间维度视为空间维度而不会出现任何问题。

对于2D噪声,您将使用这样的2D插值,使用双线性作为示例,但该想法应该适用于bicubic等。:

第一步:

您有4个外部值,并且其中有一个点可以获得值。

+    +

  x


+    +

第二步:

在Y轴上插值。

+-+--+

  x


+-+--+

第三步:

在Y轴上插值。

+-+--+
  |
  x
  |
  |
+-+--+

现在我们有了插值。

现在,要添加第三个维度,我们从8个值开始并添加一个额外的步骤:在Z轴上插值。这将扩展到任意多个维度。

答案 1 :(得分:0)

3d perlin噪音怎么样? http://webstaff.itn.liu.se/~stegu/aqsis/DSOs/DSOnoises.html

为几何使用2个坐标,一个用于时间。

相关问题