与OpenGL ES共享egl Contexts

时间:2015-03-26 12:31:09

标签: c++ c opengl-es egl

使用:

创建一个eglContext
EGLContext eglCreateContext(    EGLDisplay display,
EGLConfig config,
EGLContext share_context,
EGLint const * attrib_list);

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

如果确实指定了share_context什么是共享(程序,纹理,帧缓冲对象)?究竟什么仍然沙箱?

此分享既可以双向工作,也可以单向工作?

1 个答案:

答案 0 :(得分:2)

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

  

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