【发布时间】:2010-04-09 10:58:44
【问题描述】:
我正在将 2d 复古游戏移植到具有以下属性的 iPhone:
- 针对 OpenGL ES 1.1
- 整个屏幕都充满了瓷砖(带纹理的三角形条带
- 使用单个 256x256 RGBA 纹理图像纹理化的平铺
- 纹理在游戏开始时被传递给 OpenGL 一次
- 仅使用了 4 种显示颜色
- 其中一种显示颜色是黑色
当时间开始用完时,原始游戏会使用索引调色板将黑色像素切换为白色,从而使屏幕闪烁。
在 OpenGL ES 1.1 中实现这一目标的最佳(即最有效)方法是什么?
到目前为止我的想法:
- 使用白色而不是黑色像素生成替代纹理,并在屏幕闪烁时传递给 OpenGL
- 在背景下渲染一个白色多边形,并渲染带有 alpha 的纹理以显示它
- 尝试在顶部渲染一个多边形,并进行一些混合以达到效果(不确定是否可行)
我对 OpenGL 还很陌生,所以我不确定它们各自的性能缺点是什么,或者是否有更好的方法来做到这一点。
【问题讨论】: