【问题标题】:How to achieve a palette effect on iPhone using OpenGL如何使用 OpenGL 在 iPhone 上实现调色板效果
【发布时间】:2010-04-09 10:58:44
【问题描述】:

我正在将 2d 复古游戏移植到具有以下属性的 iPhone:

  • 针对 OpenGL ES 1.1
  • 整个屏幕都充满了瓷砖(带纹理的三角形条带
  • 使用单个 256x256 RGBA 纹理图像纹理化的平铺
  • 纹理在游戏开始时被传递给 OpenGL 一次
  • 仅使用了 4 种显示颜色
  • 其中一种显示颜色是黑色

当时间开始用完时,原始游戏会使用索引调色板将黑色像素切换为白色,从而使屏幕闪烁。

在 OpenGL ES 1.1 中实现这一目标的最佳(即最有效)方法是什么?

到目前为止我的想法:

  1. 使用白色而不是黑色像素生成替代纹理,并在屏幕闪烁时传递给 OpenGL
  2. 在背景下渲染一个白色多边形,并渲染带有 alpha 的纹理以显示它
  3. 尝试在顶部渲染一个多边形,并进行一些混合以达到效果(不确定是否可行)

我对 OpenGL 还很陌生,所以我不确定它们各自的性能缺点是什么,或者是否有更好的方法来做到这一点。

【问题讨论】:

    标签: iphone opengl-es 2d


    【解决方案1】:

    最后我在纹理的空闲空间内复制了瓦片/精灵,并简单地从纹理的这一部分进行渲染。

    【讨论】:

      猜你喜欢
      • 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
      相关资源
      最近更新 更多