相关疑难解决方法(0)

如何在android ndk中使用GraphicBuffer

我正在问这个问题,如何在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)

android opengl-es android-ndk egl

8
推荐指数
2
解决办法
9583
查看次数

标签 统计

android ×1

android-ndk ×1

egl ×1

opengl-es ×1