我必须将字节数组图像绘制到glsurfaceview,该图像连续来自xamarin android项目中的服务器。代码不适用于直接缓冲区绘制,但它适用于位图绘制。
如果我将字节数组转换为位图并绘制,我的代码就可以工作:
mBitmap = { .. create bitmap from byte[].. }
GLUtils.TexImage2D(GLES20.GlTexture2d, 0, mBitmap, 0);
如果我在同一代码中输入以下代码,则它不会绘制。我想使用 GLES20.GlTexImage2D() 绘制字节数组。我不工作的代码是:
// mFrameBuffer is my byte array
ByteBuffer buffer = ByteBuffer.AllocateDirect(mFrameBuffer.Length);
buffer.Order (ByteOrder.NativeOrder());
buffer.Put (mFrameBuffer);
buffer.Position (0);
GLES20.GlTexImage2D (GLES20.GlTexture2d, 0, GLES20.GlRgb565, mWidth, mHeight, 0, GLES20.GlRgb565, GLES20.GlUnsignedByte, buffer);
如何使用 GlTexImage2D 为直接字节数组绘制图像。