【问题标题】:Applying Visual Effect to Images using OpenGL ES使用 OpenGL ES 对图像应用视觉效果
【发布时间】:2012-04-11 17:05:39
【问题描述】:

我正在使用 libgdx 制作一个 Android 应用程序,该应用程序将使用 TextureRegions,它定义了一个矩形纹理区域。现在我不想使用 OpenGL ES 对 TextureRegion 应用一些视觉效果(它可以包括从模糊效果到渐变到发光效果到纹理的部分或全部部分的任何东西)。在通过互联网搜索并浏览了一些流行的教程之后,我对如何以动态方式应用这些效果感到迷茫。我尝试搜索一些通过降低 OpenGL 的复杂性使这项任务变得更容易的库,结果发现 Clutter 对于这样一个简单的任务来说过于广泛了。

任何人都可以指导我使用 OpenGL ES 操作和应用视觉效果到纹理的一些起点。任何库或教程/方法和解释都会非常有帮助。

【问题讨论】:

  • Stack Overflow 不是“推荐我”这类问题的地方。这是一个为实际、具体问题提供实用答案的地方。
  • @NicolBolas 好吧,stackoverflow 上有几个问题要求资源推荐,所以我认为自己提出这样的问题并没有造成任何伤害。

标签: android opengl-es textures libgdx


【解决方案1】:

假设您使用的是 libgdx 支持的 GLES2.0。您可以将着色器应用于纹理。不幸的是,着色器并不容易掌握,您必须花大量时间来学习它们。

libgdx 中的着色器示例 http://www.badlogicgames.com/wordpress/?p=471

Rajawali 是另一个 GLES2.0 引擎,虽然它远不及 libgdx 的水平,但它确实包含许多基本着色器,可能对您学习着色器有用。

【讨论】:

  • 虽然它支持 GLES2.0,但我不会使用它,这意味着使用着色器来实现这一点是不可能的。难道没有其他方法可以在不使用单独的重叠纹理来创建这些视觉效果的情况下实现这一点吗?
  • GLES1.X 确实支持使用可以在渲染代码中为每个对象配置的基本混合。这只允许您制作简单的图形效果,例如加法混合。据我所知,它不会让您制作模糊效果或仅对纹理的小区域进行更改。您是否有不想使用 GLES2.0 的原因? GLES2.0 的设备支持率为 88%,因此您不会因为需要 2.0 与 1.x 而减少很多用户。 88% 在发布时,来源:developer.android.com/resources/dashboard/opengl.html
  • 好的,如果我选择 OpenGL ES2.0,我应该如何以简单的方式实现这一目标?
  • 我将从阅读我最初发布的链接开始。 GLES20 不是很容易学习,但它非常强大。现在有大量资源展示了如何设置引擎,因此请从那里开始,直到您掌握一切是如何工作的。
  • 嗯,我正在考虑按照您的建议使用 GLES20。但是,您也可以在这个问题上指导我。 (stackoverflow.com/questions/10373847/…) 提前致谢。
猜你喜欢
  • 2014-10-24
  • 2016-05-02
  • 2010-12-29
  • 1970-01-01
  • 1970-01-01
  • 2012-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多