- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想交替渲染使用 eglCreateWindowSurface 创建的 EGLSurface 和使用 eglCreatePbufferSurface 创建的 EGLSurface,重用 EGLDisplay 和 EGLContext。当我希望结果对用户可见时,我正在使用 GLSurfaceView,但我不知道如何初始化它以使用我的 EGLDisplay、EGLContext 和 EGLSurface。我想使用 GLSurfaceView.EGLWindowSurfaceFactory,但我看到它的覆盖方法 createWindowSurface 已经将这些变量作为输入参数,所以我想你已经由 GLSurfaceView 创建了。怎么做到的?
最佳答案
GLSurfaceView
的全部意义在于为您管理此类事情,因此很难让它按照您的意愿行事。
您可以做的一件事是等到 GLSurfaceView
创建完毕,然后在共享组中创建第二个 EGL 上下文。这有点尴尬,但可以正常工作。在许多方面,切换到 SurfaceView
或 TextureView
并自行管理 EGL 和线程会更简单。
您可以在 Grafika 中看到各种实现. “Show + capture camera”使用GLSurfaceView
和一个共享的EGLContext
,“Record GL app with FBO”使用SurfaceView
,“Play movie (TextureView) "使用 TextureView
等
关于android - GLSurfaceView 如何使用我的 EGLDisplay、EGLContext 和 eglSurface?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21699323/
我想交替渲染使用 eglCreateWindowSurface 创建的 EGLSurface 和使用 eglCreatePbufferSurface 创建的 EGLSurface,重用 EGLDisp
我是一名优秀的程序员,十分优秀!