我有几个问题主要是关于我的 2D Android 游戏的 OpenGL ES 中的纹理。
我知道我可以使用的最少纹理单元数是多少?该游戏将需要 Android 2.3.3 及更高版本,因此,我认为 Adreno 200 将是完成这项工作的最古老的 GPU。假设较新的有更多的纹理单元,问题转化为“有多少纹理单元有 Adreno 200?”
纹理可以有多大?用于我的位图的“安全”尺寸是多少(以像素为单位)?当然,由于 OpenGL ES 以压缩格式保存纹理,可能是一个 1000x1000 的纹理,比方说,与海底的 1000x1000 图片相比,蓝色会非常小,但是,平均而言,你认为什么尺寸“安全”使用“?我知道我可以在测试我的应用程序时发现我是否使用了太多内存,但我不想白费力气。
纹理/vbos/其他是否存储在 RAM 中?我知道在 PC 专用显卡上没有,但据我所知,手机(至少是低端手机)使用 RAM 来存储 GPU 的主要资源。我错了吗?
在 2D 游戏中使用 mip-mapping 是好是坏,因为 2D 游戏中的对象不会调整太多和/或太频繁?
最佳答案
来自 the spec :
- 第 154 页,表 6.20,
GL_MAX_TEXTURE_IMAGE_UNITS
,最小8
- 第 152 页,表 6.18,
GL_MAX_TEXTURE_SIZE
,最小64
- 可能是。这不受规范的限制。
关于android - 关于 OpenGL ES 2 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27572315/