针对Android OpenGL ES应用程序中不同密度的分辨率

时间:2012-07-16 15:28:50

标签: android opengl-es textures dpi

我正在使用OpenGL ES开发Android游戏,直到现在我只使用了文件夹drawable-hdpi作为纹理。我最大的纹理是1024x512。 我应该将哪些分辨率用于文件夹mdpi和ldpi?或者我应该只留下一个文件夹?

2 个答案:

答案 0 :(得分:0)

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

  

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

     

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

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

答案 1 :(得分:0)

Android的内置密度位图缩放解决方案对GLES应用程序并没有多大帮助,有时甚至可以破坏(例如非二次位图缩放)。出于这个原因(和其他人),像libgdx这样的库有自己的资产加载基础设施。

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

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