我有一个由Perlin分形噪声模式生成的地形,生成的地形非常惊人。我遇到的问题是一些奇怪的线条横穿X和Z坐标,我认为这与分形生成有关,但当我生成了一个二维图像时,我看不到任何伪影。伪影线
分形函数:
我仍在尝试几种方法以便高效地渲染景观而不会卡住GPU,经过几次测试,似乎那些不良效果最小,据我所知可能与Processing中简单光照的工作方式有关,如果我还找不到解决办法,我将更新这个信息。
如果有人知道一个简单的方法来减少他们对景观造成的影响或者有好的建议,请在下面发表 :)
地形的生成是通过将地形分成块来完成的,每个块又被分成具有大小的瓦片,其取决于分辨率。
对于每个瓦片,我以类似的方式计算四个角落:
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,经过几次测试,似乎那些不良效果最小,据我所知可能与Processing中简单光照的工作方式有关,如果我还找不到解决办法,我将更新这个信息。
如果有人知道一个简单的方法来减少他们对景观造成的影响或者有好的建议,请在下面发表 :)