本例和上例Android ApiDemos示例解析(200):Graphics->OpenGL ES->Textured Triangle 非常类似,所不同的是调用图像(Texture)的方法不同。
本例介绍如何使用ETC1 压缩格式的图像,一种方式是从资源文件中读取ETC1格式的图像作为三角形的材质(本例使用res.raw 中的androids.pkm文件),一种是通过代码动态创建ETC1格式的图像。 android.opengl 包中的 ETC1, ETCUtil, ETCUtil.ETC1Texture 用来支持ETC1格式的压缩格式图像,简单的讲,可以把android.pkm 当做android.png ,所不同的是两种图像压缩方法不同。
使用ETC1 图像作为Texture的基本方法如下:
InputStream input = getResources().openRawResource(R.raw.androids);
...
ETC1Util.loadTexture(GLES10.GL_TEXTURE_2D, 0, 0,
GLES10.GL_RGB, GLES10.GL_UNSIGNED_SHORT_5_6_5, input);