【发布时间】:2012-07-23 11:17:48
【问题描述】:
我正在使用 OpenGL ES 为 Android 开发游戏,直到现在我只使用文件夹 drawable-hdpi 来存储纹理。我最大的纹理是 1024x512。 我应该为文件夹 mdpi 和 ldpi 使用哪些分辨率?还是应该只保留 1 个文件夹?
【问题讨论】:
标签: android opengl-es textures dpi
我正在使用 OpenGL ES 为 Android 开发游戏,直到现在我只使用文件夹 drawable-hdpi 来存储纹理。我最大的纹理是 1024x512。 我应该为文件夹 mdpi 和 ldpi 使用哪些分辨率?还是应该只保留 1 个文件夹?
【问题讨论】:
标签: android opengl-es textures dpi
Android 的内置密度位图缩放解决方案对 GLES 应用程序并没有真正的帮助,有时甚至会破坏一些东西(例如非二次幂位图缩放)。出于这个原因(以及其他原因),像 libgdx 这样的库拥有自己的资产加载基础架构。
如果您真的想继续使用从R.drawable 加载的位图,您应该将图像放在 drawable-nodpi 文件夹中,这样就不会执行预缩放。否则,最好将其放在资产文件夹下。
如果您想针对不同的屏幕密度(或更可能的屏幕分辨率)进行缩放,您应该在代码中执行此操作。
【讨论】:
http://developer.android.com/training/basics/supporting-devices/screens.html
要生成这些图像,您应该从原始资源开始 矢量格式并使用 以下尺寸比例:
xhdpi:2.0 hdpi:1.5 mdpi:1.0(基线)ldpi:0.75
我猜Android会缩放图像,但是缩放是一个消耗资源的操作。
【讨论】: