【问题标题】:Do I have to worry about non-power-of-two textures on API 16+?我是否需要担心 API 16+ 上的非二次幂纹理?
【发布时间】:2016-10-30 20:50:45
【问题描述】:

我正在开发一款适用于 Android 和 iOS 的手机游戏。

正如我在 Android 网站上看到的那样:

  • OpenGL ES 1.0 和 1.1 - 此 API 规范由 安卓 1.0 及更高版本。
  • OpenGL ES 2.0 - Android 2.2 支持此 API 规范 (API 级别 8)及更高级别。
  • OpenGL ES 3.0 - Android 4.3 支持此 API 规范 (API 级别 18)及更高级别。
  • OpenGL ES 3.1 - Android 5.0 支持此 API 规范 (API 级别 21)及更高级别。

我构建我的应用程序只针对设备 API16+,但是,这是否意味着我可以使用非罐纹理?

具有此 API 级别的人是否有可能在他的设备上安装 OpenGL 1.0,这会在尝试加载我的纹理时崩溃?这个设备是独立的吗?

【问题讨论】:

    标签: android ios api opengl-es


    【解决方案1】:

    首先,您没有提及您的目标是 OpenGLES 1 还是 2。根据您发布的信息,您所针对的所有设备都支持 OpenGLES 2,但这取决于您实际选择使用哪个版本。

    假设您的代码使用 OpenGLES 2,那么所有设备都应该使用非 POT 纹理。但是,您应该知道纹理环绕 (GL_REPEAT) 和 mipmapping 仅通过扩展在非 POT 纹理上受支持。此外,很多设备都会分配内存,就好像你的纹理是 POT 一样。

    由于这些原因,为 3D 资产创作 POT 纹理几乎总是一个好主意。对于 2D 资源,最好考虑使用纹理图集将多个非 POT 纹理组合成更大的 POT 图集。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-01
      • 1970-01-01
      • 2015-03-17
      • 2010-10-15
      • 1970-01-01
      • 2020-02-01
      • 2023-04-08
      相关资源
      最近更新 更多