本文档只是因为维护的Android项目使用了SDK封装的OpenGL接口,想知道底层到底作了哪些操作,纯粹是记录。
Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, bitmap, 0);
// 内部调用native_texImage2D
// native_texImage2D(target, level/*0*/, /*internalformat*/-1, bitmap, /*type*/-1, border/*0*/);
根据AndroidXRef源码参考网站,在/frameworks/base/core/jni/android/opengl/util.cpp的文件将native_texImage2D映射为util_texImage2D。
static JNINativeMethod gUtilsMethods[] = {
{ "native_getInternalFormat", "(Landroid/graphics/Bitmap;)I", (void*) util_getInternalFormat },
{ "native_getType", "(Landroid/graphics/Bitmap;)I", (void*) util_getType },
{ "native_texImage2D", "(IIILandroid/graphics/Bitmap;II)I", (void*)util_texImage2D },
{ "native_texSubImage2D", "(IIIILandroid/graphics/Bitmap;II)I", (void