I have recently been learning to use OpenGL ES on Android. I know that many devices currently support OpenGL ES 2.0, but I wanted to start with 1.0 that is supported everywhere. To that end I will be making a series of posts that contain various bits of code that I have learned along the way that might be useful to others.
So, this is how you can create a texture in OpenGL ES 1.0:
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(),
R.drawable.item);
int[] textureIds = new int[1];
gl.glGenTextures(1, textureIds, 0);
textureId = textureIds[0];
gl.glBindTexture(GL10.GL_TEXTURE_2D, textureId);
GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 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);
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.glBindTexture(GL10.GL_TEXTURE_2D, 0);
bitmap.recycle();
You can then use the textureId to bind the texture and draw it on the OpenGLSurfaceView.