我需要为 2D 空间滚动射击游戏绘制背景。我需要实现 3 层恒星:背景中的一层遥远的星云(移动非常缓慢),一层遥远的恒星(移动缓慢)和一层靠近的恒星(移动正常)在另外两层之上。
我第一次尝试的方法是使用 3 个 320 x 480 的纹理,它们是星星的透明 png。我使用了 GL_BLEND 和 SRC_ALPHA,ONE_MINUS_SRC_ALPHA。
即使在 3GS 上,结果也不是很好。在第一代设备上,FPS 下降到 40..50,所以我认为我这样做是错误的。
当我禁用 GL_BLEND 时,即使在第一代设备上一切正常,并且 FPS 再次回到 60 ......所以这一定是我试图融合大型透明纹理的事实。
问题是我不知道如何以其他方式做到这一点......
我是否应该只绘制第一个星云,比如不透明的纹理,然后尝试用小点在屏幕上移动来模拟中间和顶部的星层?
在混合问题上还有其他方法吗?如何加快渲染过程?一个大纹理(tileset)是答案吗?
请帮帮我,因为我被困在这里,我不能出去。