读取BMP BGR值,并传递给glTexImage2D

使用Andorid Studio
OPengl ES 3.0

想通过glTexImage2D显示纹理,于是先加载bitmap图片,再读取bitmap图片的颜色数据,
放在缓冲区中,将这个缓冲区做为glTexImage2D的最后一个参数,但结果出来是黑屏

 Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.mipmap.bg);
 IntBuffer pixels ;
 int h=bitmap.getHeight();
 int w=bitmap.getWidth();
 int[] pixelsData=new int[w*h];
 bitmap.getPixels(pixelsData,0,w,0,0, w,h);

            pixels = ByteBuffer.allocateDirect(w*h*4)
                    .order(ByteOrder.nativeOrder())
                    .asIntBuffer()
                    .put(pixelsData);

GLES30.glTexImage2D(GLES30.GL_TEXTURE_2D,0,GLES30.GL_RGB,
w ,h,h,GLES30.GL_TEXTURE_2D,GLES30.GL_FLOAT,pixels);

https://blog.csdn.net/nimeghbia/article/details/78058910