GLSurfaceView如何使用我的EGLDisplay,EGLContext和eglSurface?

时间:2014-02-11 10:32:47

标签: android opengl-es glsurfaceview egl

我想要替换为使用eglCreateWindowSurface创建的EGLSurface和使用eglCreatePbufferSurface创建的EGLSurface,重用EGLDisplay和EGLContext。当我希望结果对用户可见时,我正在使用GLSurfaceView,但我不知道如何初始化它以使用我的EGLDisplay,EGLContext和EGLSurface。我想使用GLSurfaceView.EGLWindowSurfaceFactory,但是我看到它的覆盖方法createWindowSurface已经将这些变量作为输入参数,所以我想你已经由GLSurfaceView创建了。怎么办呢?

1 个答案:

答案 0 :(得分:4)

GLSurfaceView的重点是为你管理这样的事情,所以很难让它做你想做的事。

您可以做的一件事是等到创建GLSurfaceView,然后在共享组中创建第二个EGL上下文。这有点尴尬,但可以使其工作。在很多方面,只需切换到SurfaceViewTextureView并自行管理EGL和线程就更简单。

您可以在Grafika中看到各种实现。 “显示+捕捉相机”使用GLSurfaceView共享EGLContext,“使用FBO记录GL应用”使用SurfaceView,“播放电影(TextureView)”使用TextureView,等