小编chi*_*hin的帖子

为什么eglCreateImageKHR返回EGL_NO_IMAGE_KHR(在Android上)?

我需要在一个线程中创建纹理,然后在另一个线程中使用它。我尝试使用共享上下文,但是纹理似乎没有共享。我尝试使用eglCreateImageKHR使用 该样本(代码张贴由Wiktor的)

eglCreateImageKHR正在返回EGL_NO_IMAGE_KHR

同样,在使用扩展名时,我必须先定义#define EGL_EGLEXT_PROTOTYPES并且 #define GL_GLEXT_PROTOTYPES在包含eglext.h和gl2ext.h之前才能进行编译。这是错的吗?是否应该在其他标头中定义它们?

如果有帮助,这是我创建纹理的线程的代码。我认为我做错了是将OpenGL返回的纹理句柄传递给,eglCreateImageKHR然后将其转换为EGLClientBuffer。(此外,我不知道reinterpret_cast的作用,只是从示例中复制了它。但是该示例对此部分并不十分清楚。)

  GLuint framebuffer;
    GLuint depthRenderbuffer;
    GLuint texture;
    GLint texWidth = 256, texHeight = 256;



    const EGLint attribs[] = {
        EGL_SURFACE_TYPE, EGL_PBUFFER_BIT,
        EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
        EGL_RED_SIZE, 8,
        EGL_GREEN_SIZE, 8,
        EGL_BLUE_SIZE, 8,
        EGL_ALPHA_SIZE, 8,
        EGL_DEPTH_SIZE, 8,
        EGL_STENCIL_SIZE, 0,
        EGL_NONE
    };

    const EGLint pbuf_attribs[] = {
                    EGL_WIDTH, 512,
                    EGL_HEIGHT, 512,
                    EGL_NONE};

    EGLSurface psurface;
    EGLContext context;
    EGLConfig config;
    EGLint numConfigs;
    EGLDisplay display;
    const EGLint contextAttribs[] …
Run Code Online (Sandbox Code Playgroud)

android opengl-es egl

6
推荐指数
0
解决办法
5110
查看次数

标签 统计

android ×1

egl ×1

opengl-es ×1