【问题标题】:How to create a fractal cube?如何创建分形立方体?
【发布时间】:2009-07-15 15:53:44
【问题描述】:

我想在 OpenGL 中渲染体积云。 我发现了一篇有趣的论文,它描述了一种渲染体积云的简单技术。 (http://www.inframez.com/events_volclouds_slide18.htm) 但是我不知道如何创建他们的“分形立方体”(或 perlin-noise 立方体)。

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

编辑:我的目标是制作体积云对象,而不是云天空盒。

【问题讨论】:

    标签: opengl 3d cloud textures perlin-noise


    【解决方案1】:

    由 Ken Perlin 本人撰写的关于 Perlin 噪声的精彩介绍是 here。他详细讨论了生成一维或二维噪声函数,然后对其进行概括以展示它如何在 3D 中工作,生成您想要的实体噪声立方体。

    【解决方案2】:

    使用 2D 广告牌云纹理时,您会创建一个 alpha 混合 2D 纹理,其中透明度看起来像云。他们要求你做的几乎是一样的,只是纹理无缝地包裹在一个立方体周围(就像一个天空盒)。 perlin-noise filter 看起来像是一种算法,可以让某些东西看起来像云一样。

    我的捷径是使用 Photoshop 的云滤镜来创建纹理。遵循this tutorial 的基本概念进行 alpha 混合,但不要做圆形渐变。将它切割成一个无缝的天空盒状网格(即它有 6 个边并围绕一个立方体正确折叠)。

    【讨论】:

    • 感谢您的“粒子效果教程”链接。
    【解决方案3】:

    我认为他们所指的“分形立方体”纹理是由多个八度音阶的柏林噪声生成的 FBM(分形布朗运动)分形。 This Game Programming Gems 章节讨论了它们是如何形成的。基本思想是组合 Perlin 噪声的多个“八度音程”,每个八度音程的频率大约是前一个八度音程的两倍。您可以通过修改噪声函数来实现无缝平铺。 Photoshop 的云过滤器基本上是 FBM 噪声,并且是无缝平铺的,因此如果您可以访问 Photoshop,则可以使用它。

    【讨论】:

      【解决方案4】:

      如果你真的对漂亮的云渲染感兴趣,那么 Mark Harris 的算法虽然很复杂,但还是相当不错的:http://www.markmark.net/clouds/

      【讨论】:

      • 说实话,那些云只是平庸而已。我猜这是一些基于元胞自动机的云模拟加上 Perlin 噪声云渲染之类的东西。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-21
      • 2020-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多