我看见
format 指定返回像素值的格式;可接受的值为:
GL_ALPHA GL_RGB GL_RGBA RGBA 颜色分量从颜色缓冲区中读取。每个颜色分量都转换为浮点数,这样零强度映射到 0.0,全强度映射到 1.0。
然后丢弃不需要的数据。例如,GL_ALPHA 丢弃了红色、绿色和蓝色分量,而 GL_RGB 只丢弃了 alpha 分量。GL_LUMINANCE 将单分量值计算为红色、绿色和蓝色分量的总和,GL_LUMINANCE_ALPHA 也是如此,同时将 alpha 作为第二个值。最终值被限制在 [0, 1] 范围内。”
在https://www.khronos.org/opengles/sdk/1.1/docs/man/glReadPixels.xml
如果使用 GL_RGBA 效果很好。但如果我改变
glReadPixelsPBOJNI(0, 0, 宽度, 高度, GLES30.GL_RGBA, GLES30.GL_UNSIGNED_BYTE, 0);
至
glReadPixelsPBOJNI(0, 0, 宽度, 高度, GLES30.GL_RGB, GLES30.GL_UNSIGNED_BYTE, 0);
0x502 得到。这有什么问题?