分形噪音地形产生奇怪的赝象线
我有一个由Perlin分形噪音模式产生的地形,可以产生相当不寻常的地形。 我遇到的问题是一些经过X和Z坐标的奇怪线条,我认为它与分形生成有关,但是当我生成它的2D图片时,我没有看到任何伪影。 人造线
地形的产生是通过将地形分割成块来完成的,而块依次分解成瓦,这取决于分辨率的大小。
每块瓷砖都以类似的方式计算每个角落的四个角落:
float corner1 = mapHeight * fractal( x * tileSize +( posX * (mapSize) ) , z * tileSize +( posZ * (mapSize)) ,25000,0.5,16);
分形函数:
float fractal(int x,int y,float gridSubs,float gain,int octaves){
float total = 0;
float freq = 1.0/gridSubs;
float amp = gain;
for(int f=0;f<octaves;f++){
total += noise(x*freq,y*freq)*amp;
freq *= 2.0;
amp *= gain;
}
return total;
}
编辑:我并没有真正得到一个很好的答案,为什么发生这种情况,但有一种可能性,我有一些奇怪的顶点位置值(虽然我不应该)。
我仍然尝试了几种方法来有效地渲染风景,而不会使顶点堵塞我的GPU。 通过一些测试,人为因素是最小的,据我所知可能与处理中的简单工作方式有关,如果我仍然无法找到解决方法,我会更新此文件。
如果有人仍然知道一个简单的方法来减少他们对景观的影响,或者只是有一个很好的建议,那么请发布以下:)
我的第一个冲动是问你为什么要手动计算八度,而不是使用noiseDetail?
http://www.processing.org/reference/noiseDetail_.html
如果您只是希望获得更多的总振幅,请将噪声输出乘以某个标量> 1。 如果您希望在该幅度内存在更多细节,请增加noiseDetail。
你看到的文物是你使用同一个种子产生的八度对齐珀林噪声并且只是将其叠加而不平滑的一个必要部分。 最重要的是,在生成的值之间的一些实现特定的插值是在幕后进行的。 DO perlin或者自己噪音,或者使用内置perlin噪音,不要试图同时做这两件事。
看到你的照片,我不知道,但它闻起来/感觉像一个类型铸造问题。
链接地址: http://www.djcxy.com/p/37177.html上一篇: Fractal noise terrain generating strange artefact lines