Java tutorial
//package com.java2s; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.opengl.GLUtils; import static android.opengl.GLES20.GL_LINEAR; import static android.opengl.GLES20.GL_LINEAR_MIPMAP_LINEAR; import static android.opengl.GLES20.GL_REPEAT; import static android.opengl.GLES20.GL_TEXTURE_2D; import static android.opengl.GLES20.GL_TEXTURE_MAG_FILTER; import static android.opengl.GLES20.GL_TEXTURE_MIN_FILTER; import static android.opengl.GLES20.GL_TEXTURE_WRAP_S; import static android.opengl.GLES20.GL_TEXTURE_WRAP_T; import static android.opengl.GLES20.glBindTexture; import static android.opengl.GLES20.glGenTextures; import static android.opengl.GLES20.glGenerateMipmap; import static android.opengl.GLES20.glTexParameteri; public class Main { protected static int bindTexture(Context context, int drawable) { BitmapFactory.Options option = new BitmapFactory.Options(); option.inScaled = false; return bindTexture(BitmapFactory.decodeResource(context.getResources(), drawable, option)); } protected static int bindTexture(Bitmap bitmap) { int[] textures = new int[1]; glGenTextures(1, textures, 0); glBindTexture(GL_TEXTURE_2D, textures[0]); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); GLUtils.texImage2D(GL_TEXTURE_2D, 0, bitmap, 0); glGenerateMipmap(GL_TEXTURE_2D); glBindTexture(GL_TEXTURE_2D, 0); return textures[0]; } }