我想使体积云在OpenGL。 我发现了一个有趣的论文,描述一个简单的技术来渲染体积云。 ( http://www.inframez.com/events_volclouds_slide18.htm ) 但是我不知道如何创建自己的“分形立方体”(或培林噪声立方体)。

我的问题是:如何创建立方体的6个平铺形纹理

修改:我的目的是使一个体积云对象,而不是云天空盒

有帮助吗?

解决方案

一个很好的介绍Perlin杂,由Ken培林本人写入,是此处。他谈到在一些细节上产生一个维或二维噪声函数,然后可以推广它来显示它是如何在三维空间中工作,就像你要产生噪声的固体立方体。

其他提示

当使用2D布告板式云纹理,可以创建一个阿尔法混合2D纹理,其中透明度看起来云状。他们会问你做的是几乎同样的事情,只有大约一个立方体无缝(如天空盒)质地包裹。该培林噪声滤波器看起来像一个算法,使一些看云-喜欢。

我的快捷方式,这将是使用Photoshop的云过滤器来创建你的纹理。按照的alpha混合本教程,但不这样做圆形渐变。把它切成一个无缝天空盒状网格(即,因此它具有6个边和周围的立方体折叠正确)。

我认为“分形立方体”纹理它们指的是一个FBM(分形布朗运动)从多个Perlin杂的八度音阶的分形产生的。 游戏编程精粹章讨论它们是如何形成的。其基本思想是将多个Perlin杂的“八度”相结合,具有围绕前一八度的两倍频率每倍频程。您可以将此修改噪音的功能无缝地平铺。 Photoshop的云过滤器基本上是FBM噪声和无缝地平铺,所以你可以只使用,如果你有机会到Photoshop。

如果你在好的云渲染真正感兴趣的,那么马克·哈里斯的算法虽然复杂,相当不错: HTTP ://www.markmark.net/clouds/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top