【问题标题】:Resolution for different densities in Android OpenGL ES appAndroid OpenGL ES 应用中不同密度的分辨率
【发布时间】:2012-07-23 11:17:48
【问题描述】:

我正在使用 OpenGL ES 为 Android 开发游戏,直到现在我只使用文件夹 drawable-hdpi 来存储纹理。我最大的纹理是 1024x512。 我应该为文件夹 mdpi 和 ldpi 使用哪些分辨率?还是应该只保留 1 个文件夹?

【问题讨论】:

    标签: android opengl-es textures dpi


    【解决方案1】:

    Android 的内置密度位图缩放解决方案对 GLES 应用程序并没有真正的帮助,有时甚至会破坏一些东西(例如非二次幂位图缩放)。出于这个原因(以及其他原因),像 libgdx 这样的库拥有自己的资产加载基础架构。

    如果您真的想继续使用从R.drawable 加载的位图,您应该将图像放在 drawable-nodpi 文件夹中,这样就不会执行预缩放。否则,最好将其放在资产文件夹下。

    如果您想针对不同的屏幕密度(或更可能的屏幕分辨率)进行缩放,您应该在代码中执行此操作。

    【讨论】:

      【解决方案2】:

      http://developer.android.com/training/basics/supporting-devices/screens.html

      要生成这些图像,您应该从原始资源开始 矢量格式并使用 以下尺寸比例:

      xhdpi:2.0 hdpi:1.5 mdpi:1.0(基线)ldpi:0.75

      我猜Android会缩放图像,但是缩放是一个消耗资源的操作。

      【讨论】:

      • 我知道这些值,但是直接应用它们会导致图像不是 2 的幂,这是 OpenGL 中纹理所必需的
      • 我猜这些文件夹不是 OpenGL 资源的最佳位置。只需将资源放在 assets 文件夹中,然后在运行时扩展资源。
      • 只保留hdpi文件夹不一样吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-05
      • 2012-12-09
      • 1970-01-01
      相关资源
      最近更新 更多