我发现了关于3D柏林噪声的代码:https://blog.kazade.co.uk/2014/05/a-public-domain-c11-1d2d3d-perlin-noise.html
我用第一段代码创建了一个noise.h文件。然后,我将第二个块添加到我的C++项目中,包括noise.h头文件,并通过解决方案资源管理器将其添加到项目中。
一切都很好,我插入的代码没有错误。问题是我真的不知道如何使用它。他只是简单地说:
使用起来非常简单,只需实例化一个Perlin或PerlinOctave实例,并调用noise(x,y,z(;简单
我对C++没有太多的经验,所以我不知道他所说的实例化是什么意思。但我的尝试是:
float n = noise(x,y,z);
(其中x,y,z是我的浮点变量(。
我也试过:
float n = PerlinOctave::noise(x,y,z);
(其中x,y,z是我的浮点变量(。
Visual Studio报告一个错误:;不允许使用名称空间名称";
他也没有给出任何关于如何使用倍频程函数的说明,倍频程函数与噪声函数是分开的。
有人对如何使用这些代码有更好的理解吗?
Perlin
对象,如下所示:
uint32_t seed = 42;
noise::Perlin perlin(seed);
然后您可以调用noise
方法:
for (double x = 0.0; x < 1.0; x += 0.1)
{
std::cout << perlin.noise(x) << "n";
}
与PerlinOctave
类类似。
如果你想继续学习C++,退一步学习C++的基础知识可能会有所收获。否则,你应该为整个痛苦的世界做好准备。