如何从配置文件加载纹理?

时间:2014-04-29 21:25:52

标签: java android opengl-es

我正在尝试为Android编写游戏。

我想从配置文件加载一个openGL纹理,但我只知道如何通过使用R.drawable类来实现。

所以我有以下代码

            Bitmap bitmap= BitmapFactory.decodeResource(context.getResources(),R.drawable.texturetest);
            gl.glGenTextures(1,textures,0);
            gl.glBindTexture(GL10.GL_TEXTURE_2D,textures[0]);
            gl.glTexParameterf(GL10.GL_TEXTURE_2D,GL10.GL_TEXTURE_MIN_FILTER,GL10.GL_NEAREST);
            gl.glTexParameterf(GL10.GL_TEXTURE_2D,GL10.GL_TEXTURE_MAG_FILTER,GL10.GL_LINEAR);
            GLUtils.texImage2D(GL10.GL_TEXTURE_2D,0,bitmap,0);

所以问题是如何使用字符串(从配置文件中检索)解码位图而不是R.drawable.texturetest 即配置文件看起来大致如此

robot_texture=texturetest

1 个答案:

答案 0 :(得分:0)

BitmapFactory有其他方法可以用于此目的。

  • decodeFile,如果您有位图的纯文件名。
  • decodeStream,以InputStream为参数。如果您将位图存储在资源中而不是资源中,那么这应该与AssetManager.open(返回InputStream)结合使用。