Android 关于OpenGL ES 2的问题
我有几个问题,主要是关于我的2D Android游戏的OpenGL ES中的纹理Android 关于OpenGL ES 2的问题,android,opengl-es,Android,Opengl Es,我有几个问题,主要是关于我的2D Android游戏的OpenGL ES中的纹理 我知道我可以使用的最少纹理单元数是多少?游戏将需要安卓2.3.3及以上版本,因此,我认为Adreno200将是最早的GPU来做这项工作。假设较新的有更多的纹理单元,问题会转化为“有多少个纹理单元有Adreno 200?” 纹理可以有多大?以像素为单位的位图的“安全”大小是多少?当然,由于OpenGL ES以压缩格式保存纹理,可能填充了1000×1000纹理,比方说,蓝色与海底的1000×1000图片相比非常小,但是
对于问题4:缩小纹理时会使用mipmap,所以很可能在常规2D游戏中对它们没有任何用处。对于其他问题,我没有任何好的答案。来自:
GL\u MAX\u TEXTURE\u IMAGE\u UNITS
,最小8
GL\u最大纹理大小
,最小64
是的,但我也会缩小纹理,即使是2D游戏。我会让他们像原来的80%,而不是更少。根据您的经验,如果我不使用mipmap,在这种情况下图像会看起来不好吗?如果它看起来确实很糟糕,那么是否值得使用mipmap来处理像这样小的东西,或者缺点太大(比如需要更多的内存)?通常,据我所知,当位图被大幅缩小时,会使用mipmap。IIRC,默认“第一”级位图的大小为原始位图的50%,第二级位图的大小为25%,依此类推。所以,我认为,如果你像原始的80%那样缩放,你不需要mipmap。但是,是的,如果您有较大的缩小比例,您可能希望生成mipmap。谢谢!所以,至少8个纹理单位,我想这很好。但是64在GL_MAX_纹理尺寸下意味着什么?在问题#3中,我询问在低/旧手机上的实际情况。由于规范没有约束它,我猜纹理实际上存储在RAM上?:)这意味着符合标准的ES 2.0实现必须支持至少与64x64一样大的纹理。大多数将支持1024-2048范围内的内容。他们可以,在API的限制范围内无法判断。