【问题标题】:Minimum required Texture Size for compliance with OpenGL-ES 2.0 on Android?在 Android 上符合 OpenGL-ES 2.0 所需的最小纹理大小?
【发布时间】:2012-01-31 00:21:08
【问题描述】:

为了符合 OpenGL-ES 2.0 规范,某个硬件需要支持最小纹理大小吗?

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

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

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

【问题讨论】:

    标签: android opengl-es textures specifications


    【解决方案1】:

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

    参见官方规范第 141 页,表 6.20。

    【讨论】:

    • 谢谢,我查了一下,在khronos.org/registry/gles/specs/2.0/es_full_spec_2.0.24.pdf pg 找到了。 149 表 6.17,它确实说最小 64 像素。对于我的需求来说,这只是一个可笑的小数字,我想我只需要坚持 1024 的最小纹理并希望这足够好。
    • 是的,规格相同,但版本较旧。最新是 2010 年 11 月 2 日的 2.0.25。但限制是一样的。
    • 同意HardCoder,这太荒谬了。有什么想法吗?例如,在官方 android 网站上有一个漂亮的饼图显示当前使用的 Android 版本的分布。纹理大小是否有类似的统计数据? (和其他有用的信息)
    • @sargeborsch OpenGL 不是 android-only,所以虽然最小纹理大小对于 我们的 需求或 android 设备需求来说似乎很荒谬,但这并不意味着 OpenGL 应该放弃它的一些设备支持只是为了适合我们。 =)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 1970-01-01
    • 2011-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    相关资源
    最近更新 更多