在Android上符合OpenGL-ES 2.0所需的最小纹理大小?

Har*_*der 9 android textures specifications opengl-es

是否有一个最小的纹理大小,某些硬件需要支持以符合OpenGL-ES 2.0规范?

类似GL_MAX_TEXTURE_SIZE值必须至少为1024或2048或类似的东西?

我想知道这个的原因是因为我在使用着色器的东西上工作,因此必须是OpenGL-ES 2.0.因此,我想使纹理尽可能大,而不必考虑每个硬件纹理限制(如只有512x512的旧手机).

如果有一个最小数量(或大多数设备支持的某个值)可以帮助我.

Mār*_*iko 11

是的,任何GLES2实现都必须支持宽度和高度至少为64像素的纹理.您可以使用GL_MAX_TEXTURE_SIZE枚举通过glGetIntegerv函数查询实际的最大纹理大小.

参见官方规格第141页,表6.20.

  • 同意'HardCoder`,这太荒谬了.有什么想法吗?例如,在官方的Android网站上有一个漂亮的饼图,显示当前使用的Android版本的分布.是否有类似的纹理大小统计?(和其他有用的信息) (3认同)
  • 谢谢,我检查了它,并在http://www.khronos.org/registry/gles/specs/2.0/es_full_spec_2.0.24.pdf页面找到了它.149表6.17,它确实说最小64像素.对于我的需求,这只是一个可笑的小数字,我想我只需要坚持1024的最小纹理,并希望这足够好. (2认同)
  • @sargeborsch OpenGL 并非仅适用于 android,因此尽管对于 *我们* 的需求或对于 android 设备的需求而言,最小纹理大小似乎有些荒谬,但这并不意味着 OpenGL 应该放弃其某些设备支持来满足我们的需求。=) (2认同)