代码之家  ›  专栏  ›  技术社区  ›  doron

与OpenGL ES共享egl上下文

  •  1
  • doron  · 技术社区  · 11 年前

    创建eglContext时:

    EGLContext eglCreateContext(    EGLDisplay display,
    EGLConfig config,
    EGLContext share_context,
    EGLint const * attrib_list);
    

    规范允许用户指定一个share_context,它允许两个上下文之间的对象共享。

    如果确实指定了share_context,具体共享的是什么(程序、纹理、帧缓冲区对象)?还有什么是沙盒?

    这种共享是双向工作还是仅单向工作?

    1 回复  |  直到 11 年前
        1
  •  2
  •   tonso laalto    11 年前

    OGL ES 2.0.25规范(附录C: 共享对象和多个上下文):

    上下文的共享列表是与该上下文共享对象的所有上下文的组。 可以在共享列表上的上下文之间共享的对象包括顶点缓冲区对象、程序和着色器对象、渲染缓冲区对象和纹理对象(名为零的纹理对象除外)。 未定义帧缓冲区对象是否由共享列表上的上下文共享。帧缓冲区对象命名空间可以共享,也可以不共享。这意味着在共享列表上的多个上下文中对帧缓冲区对象使用相同的名称可能会导致多个不同的帧缓冲区,或导致共享的单个帧缓冲区。因此,使用OpenGL ES的应用程序应避免在同一共享列表的多个上下文中使用相同的帧缓冲区对象名称。