我正在使用OpenGL ES为iPhone开发一个2D游戏,我想使用一张320x480位图作为持久背景。我的第一个想法是创建一个320x480的四边形,然后将代表背景的纹理映射到上面。所以...我创建了一个512x512的纹理,上面有一张320x480的图片,然后我将它映射到了320x480的四边形上。我在每帧都绘制这个背景,然后在其上绘制动画精灵。除了所有对象(背景+精灵)的绘制速度太慢之外,这种方法还可以。我进行了一些测试,发现我的减速在像素管道中。毫不奇怪,大型的背景图片是主要罪魁祸首。为了证明这一点,我删除了背景绘制,其他所有内容都渲染得非常快。 我正在寻求如何保持背景并提高性能的建议。以下是更多信息:
1)我目前正在模拟器上测试(仍在等待苹果授权)
2)背景是PVR纹理压缩到128k
3)我希望能够将这个背景缓存到颜色缓冲区中,但没有成功。这可能是由于我对OpenGL ES的经验不足,或者只是一个不起作用的愚蠢想法:)
4)我意识到并非总是需要刷新整个背景,只需刷新移动精灵覆盖部分的部分即可。我开始研究刷新(如有必要)背景的技术,无论是作为单独的纹理还是使用剪刀框,但这似乎不太优雅。
任何提示/建议将不胜感激...
谢谢。
1)我目前正在模拟器上测试(仍在等待苹果授权)
2)背景是PVR纹理压缩到128k
3)我希望能够将这个背景缓存到颜色缓冲区中,但没有成功。这可能是由于我对OpenGL ES的经验不足,或者只是一个不起作用的愚蠢想法:)
4)我意识到并非总是需要刷新整个背景,只需刷新移动精灵覆盖部分的部分即可。我开始研究刷新(如有必要)背景的技术,无论是作为单独的纹理还是使用剪刀框,但这似乎不太优雅。
任何提示/建议将不胜感激...
谢谢。