在安卓中大量加载的是格式为ETC2的压缩纹理,有利于节省带宽。
1.首先,由于Android Studio没有assets文件夹,需要首先建立一个。 PS:pkm文件只能在assets文件夹中才能被解析。
2. 接着讲pkm文件放入其中。
3.使用下面的代码进行相关纹理的生成。
public int initTexture() {
int[] textures = new int[1];
GLES20.glGenTextures(1, textures, 0);
int textureId = textures[0];
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, textureId);
GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_NEAREST);
GLES20.glTexParameterf(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_LINEAR);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_S, GLES20.GL_REPEAT);
GLES20.glTexParameteri(GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_T, GLES20.GL_REPEAT);
try
{
InputStream is = m_context.getAssets().open("a1024.pkm");
ETC1Util.loadTexture(GLES20.GL_TEXTURE_2D, 0, 0, GLES20.GL_RGB, GLES20.GL_UNSIGNED_SHORT_5_6_5, is);
}
catch (Exception e1)
{}
return textureId;
}