【问题标题】:OpenGL ES 2.0 plasma shaderOpenGL ES 2.0 等离子着色器
【发布时间】:2011-06-16 06:14:47
【问题描述】:

我正在尝试编写 OpenGL ES 2.0 着色器,这将使 2D 平面具有类似等离子的表面。我正在努力争取类似于这些简短视频中的效果...

http://www.youtube.com/watch?v=XM7imVtakZk

http://www.youtube.com/watch?v=5NQi45V5Y6o

我并不需要那种渲染,但总的来说,我希望用某种移动的等离子表面来渲染我的 2D 平面。它不需要看起来很棒,也不需要表现得非常流畅,只要像视频中那样具有运动和很好的混合颜色即可。我需要这种效果在快速方面,并且我认为在 2D 平面上使用着色器不应该对性能造成重大影响(如果大多数效果工作都可以在着色器中完成)。我不需要为我编写的着色器(尽管欢迎使用代码),我只是在寻找有关研究什么的建议,以获得像这样的 2D 平面的性能不太重的效果。如果对我所追求的确切效果有疑问,这个视频很接近,但可能比我需要的更先进......

http://www.youtube.com/watch?v=dcS12sDIhIQ&feature=related

【问题讨论】:

  • 我希望您有一些 OpenGL 和 GLSL 经验,以及对计算机图形学的一般理解。
  • 我在 OpenGL ES 1.1 方面有丰富的经验,但在 2.0 方面经验不多(因此我不确定我可以将哪种技术应用于 2D 着色器)。我还刚刚完成了计算机图形学的高级课程,并且对这些材料感到非常熟悉。

标签: opengl-es 2d shader opengl-es-2.0 plasma


【解决方案1】:

Apple 为 Mac 提供了一个 GLSLShowpiece sample application,其中包含一个着色器,该着色器基于几个预先计算的纹理来实现等离子效果。虽然是为桌面 OpenGL 构建的,但在那里使用的 GLSL 着色器程序可以轻松移植到 OpenGL ES 2.0。

【讨论】:

  • 等离子体效应并不是我所追求的,但该项目仍然有很多很棒的例子!
【解决方案2】:

我花了几天的时间进行研究和实验,但我能够使用柏林噪声达到我需要的确切效果。我在片段着色器中的 GPU 上为 2 个三角形平面生成 3D perlin 噪声。通过调整颜色、缩放级别和强度,我能够非常快速地获得我想要的视觉效果。下面是我的结果中的一些图像,用于与上述示例进行比较。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多