【发布时间】:2010-05-19 18:57:34
【问题描述】:
您好,我正在使用 OpenGL es 为 android 开发游戏,但遇到了问题:
我的游戏在模拟器中加载良好(windows xp 和来自 eclipse 的 vista),它在 T-Mobile G2(HTC Hero)上也加载良好,但是当我在我的新 HTC Desire 上加载它时,似乎没有加载任何纹理正确(或根本)。我怀疑 BitmapFactory.decode 方法,尽管我没有证据表明这是问题所在。
我所有的纹理都是 2 的幂,而且 JPG 纹理似乎可以加载(尽管它们看起来质量不太好),但是任何 GIF 或 PNG 都不会加载,除了加载正常的 2x2 红色方块以及一个映射到 3d 对象但似乎用最接近的颜色填充网格的每个三角形的纹理)。
这是我加载图片的代码:
AssetManager am = androidContext.getAssets();
BufferedInputStream is = null;
try {
is = new BufferedInputStream(am.open(fileName));
Bitmap bitmap;
bitmap = BitmapFactory.decodeStream(is);
GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0);
bitmap.recycle();
} catch(IOException e) {
Logger.global.log(Level.SEVERE, e.getLocalizedMessage());
} finally {
try {
is.close();
} catch(Exception e) {
// Ignore.
}
}
谢谢
【问题讨论】:
标签: java android opengl-es textures