沙漠分形OpenGL
我们正在尝试使用2d柏林噪声(使用复原/分形技术)生成3d世界。我们生成的山脉和山谷相当不错,但现在我们在沙漠和沙丘方面遇到了问题,因为我们只研究了持续性和八度音阶,无法生成沙丘的经典形状。有人经历过吗?任何解决方案,可能仍然使用柏林噪声,或者其他允许您这样做的算法?您可以尝试一下Musgrave脊状多重分形。它提供了很好的脊状结构,您可以使用现有的噪声算法沙漠分形OpenGL,opengl,fractals,perlin-noise,simplex-noise,Opengl,Fractals,Perlin Noise,Simplex Noise,我们正在尝试使用2d柏林噪声(使用复原/分形技术)生成3d世界。我们生成的山脉和山谷相当不错,但现在我们在沙漠和沙丘方面遇到了问题,因为我们只研究了持续性和八度音阶,无法生成沙丘的经典形状。有人经历过吗?任何解决方案,可能仍然使用柏林噪声,或者其他允许您这样做的算法?您可以尝试一下Musgrave脊状多重分形。它提供了很好的脊状结构,您可以使用现有的噪声算法 它的C参考实现是也许湍流已经足够满足您的需要。。。尝试使用八度音阶返回值的绝对值而不是正常值来播放湍流。您还可以单独评估,并将噪声和湍流组
它的C参考实现是也许湍流已经足够满足您的需要。。。尝试使用八度音阶返回值的绝对值而不是正常值来播放湍流。您还可以单独评估,并将噪声和湍流组合在一起,以便在某些区域混合这两种效果。沙丘是叶面的:.='\cross section。。。您可能需要使用这种初始形状 它们是规则的,就像大海中的波浪。不完全是噪音 它们被风拉长 我没有使用第一个条件,但我通过将2个1d perin噪波相乘,甚至是2个sin/parabol函数,它们都排列在一个轴上,从而生成了巨大的沙丘。i、 它们有一个小的低频正弦或噪声沿X轴摆动,所以它们不对齐 试试这个:
dunes = sin ( X + 1dperlin(Z) *.2 ) * sin ( X + 1dperlin(Z+432) *.2 );
otherwise to test it:
dunes = sin ( X + sin(Z) *.2 ) (plus or times or devided by) sin ( X + sin(Z+432) *.2 );
0.2会使沙丘比宽度长10倍,这就像两个直线水波以几乎相同的角度相遇一样,再加上一个不确定性变量,使用噪声作为角度