【问题标题】:Bad texture on Android devices with lower GL_MAX_TEXTURE_SIZEGL_MAX_TEXTURE_SIZE 较低的 Android 设备上的纹理不好
【发布时间】:2013-02-04 15:58:01
【问题描述】:

我最近在多台 Android 设备上测试了我的一款游戏。在那期间,我遇到了与 Galaxy S2 的奇怪遭遇。当我启动游戏时,除了背景之外,整个游戏都运行良好。游戏的背景显示为黑色,而不是预期的纹理。在互联网上搜索时,我发现this forum 并意识到这是 Galaxy S2 上的一个糟糕的纹理问题,因为游戏的背景图像包含在一个单独且非常大的精灵表 (4096) 中,而其余的演员因为游戏被包含在一个较小的游戏中。由此,我认为这与GL_MAX_TEXTURE_SIZE有关。

现在我的问题是:像 Google Nexus 10 (宽度为 2560 )这样具有大显示屏的设备是否有可能具有 2048 的 GL_MAX_TEXTURE_SIZE ?

此外,Android 设备上最常见的 GL_MAX_TEXTURE_SIZE 是什么?如果您还希望您的应用程序为具有非常大分辨率的设备提供服务,如何解决此类问题?

【问题讨论】:

    标签: android opengl-es textures libgdx


    【解决方案1】:

    是的,很遗憾。

    移动设备之间可能会有所不同。 OpenGL ES 2.0 规范说 GL_MAX_TEXTURE_SIZE 的最小值只有 64!因此,检查游戏中的硬件上限是一个好习惯。 供应商只需要支持最低限度的规范,其余的由他们选择。

    请参阅http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGet.xml 了解有关 opengl ES 2.0 最小上限的一些信息。

    这里:http://developer.apple.com/library/ios/#documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/DeterminingOpenGLESCapabilities/DeterminingOpenGLESCapabilities.html 有信息表明:

    PowerVR MBX 图形硬件支持高达 1024 x 1024 英寸的纹理 尺寸,而 PowerVR SGX 软件支持高达 2048 x 的纹理 2048;两种尺寸都大大超过 64 x 64,这是最小尺寸 OpenGL ES 规范中要求的。如果您的应用程序需要 超过 OpenGL ES 要求的最低能力 规范,它应该查询实现以检查实际 硬件的能力和优雅的失败;你可以加载一个 较小的纹理或选择不同的渲染策略。

    这是来自 iPhone...但同样的硬件也可以在 Android 设备上找到。

    在 OpenGL ES 3.0 中,GL_MAX_TEXTURE_SIZE 的最小值为 2048 http://www.khronos.org/opengles/sdk/docs/man3/xhtml/glGet.xml

    那该怎么办? OpenGL 提供了一个体面且统一的软件层,可用于制作您的应用程序。但是平台和硬件之间仍然存在一些差异。通常在游戏引擎中,我们检查给定的能力,然后做一些“回退”以确保它即使在最低要求下也能正常工作。 你的问题没有单一的答案。这取决于问题。

    对于纹理大小,我认为您可以将大纹理切割成一些较小的部分,然后使用几个矩形/四边形显示它

    【讨论】:

    • 现在如果一个设备的屏幕宽度为 2560 的 GL_MAX_TEXTURE_SIZE 为 1024 呢?应用程序开发人员将如何满足此类设备的需求?对我来说,9 个补丁和其他编程技巧似乎是唯一可行的方法。也请对此发表评论。
    • 感谢您的回复。正如您所提到的,屏幕尺寸可能大于 GL_MAX_TEXTURE_SIZE ,但这在 Android 设备上是不可能的。我找到了我的问题的答案:stackoverflow.com/questions/14057154/…
    • 是的,这也是可能的,这两种尺寸之间没有联系。我在上面的答案中添加了更多信息。
    猜你喜欢
    • 1970-01-01
    • 2018-07-20
    • 2016-12-22
    • 1970-01-01
    • 2013-06-28
    • 2015-03-27
    • 1970-01-01
    • 1970-01-01
    • 2023-03-02
    相关资源
    最近更新 更多