我期待在android中加载压缩的jpg和png文件。加载原始文件太慢了。计划是提前将文件压缩成DXT文件。我试图使用DXTViewer来压缩一些图像并尝试将它们加载为纹理。在Android中使用Java加载DXT纹理文件
目前我正在从gl.glCompressedTexImage2D(...)获取GL_INVALID_ENUM。
这是代码。
InputStream is = ESGLTextureUtility.loadFile(iFile, assetManager);
ByteBuffer bb = this.readToByteBuffer(is);
textureInfo.source = iFile;
is.close();
this.checkError(gl);
gl.glGenTextures(1, textureInfo.textures, 0);
gl.glBindTexture(GL10.GL_TEXTURE_2D, textureInfo.textures[0]);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_LINEAR);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_LINEAR);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_S, GL10.GL_CLAMP_TO_EDGE);
gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_WRAP_T, GL10.GL_CLAMP_TO_EDGE);
gl.glCompressedTexImage2D(GL10.GL_TEXTURE_2D, 0, GL10.GL_RGBA, 512, 512, 0, (int) this.total, bb);
就像我说的,这将触发一个GL_INVALID_ENUM。
似乎很少有关于此主题的文档或示例。
在此先感谢。