我正在问这个问题,如何在Android中改进opengl es显示性能.我试图使用ndk-r9d构建使用GraphicBuffer的代码.但是说这个范围没有声明GraphicBuffer.对于eglCreateImageKHR和glEGLImageTargetTexture2DOES的相同注释.
我添加了EGL/eglext.h和GLES2/gl2ext.h.我试图包含ui/GraphicBuffer.h,但它没有接受它.是否有另一个头文件要添加?
下面给出的代码我添加了以避免使用glTexSubImage2D().
GraphicBuffer * pGraphicBuffer = new GraphicBuffer(frame_width, frame_height, PIXEL_FORMAT_RGB_565, GraphicBuffer::USAGE_SW_WRITE_OFTEN | GraphicBuffer::USAGE_HW_TEXTURE);
// Lock the buffer to get a pointer
unsigned char * pBitmap = NULL;
pGraphicBuffer->lock(GraphicBuffer::USAGE_SW_WRITE_OFTEN,(void **)&pBitmap);
// Write 2D image to pBitmap
memcpy(pBitmap, frame_buffer, frame_width * frame_height * 3);
// Unlock to allow OpenGL ES to use it
pGraphicBuffer->unlock();
EGLClientBuffer ClientBufferAddress = pGraphicBuffer->getNativeBuffer();
EGLint SurfaceType = EGL_NATIVE_BUFFER_ANDROID;
// Make an EGL Image at the same address of the native client buffer
EGLDisplay eglDisplayHandle …Run Code Online (Sandbox Code Playgroud)