android - GLSurfaceView 如何使用我的 EGLDisplay、EGLContext 和 eglSurface?

标签 android opengl-es glsurfaceview egl

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

最佳答案

GLSurfaceView 的全部意义在于为您管理类似的事情,因此很难让它做您想要的事情。

您可以做的一件事是等待创建 GLSurfaceView,然后在共享组中创建第二个 EGL 上下文。这有点尴尬,但可以实现。在许多方面,切换到 SurfaceView 或 TextureView 并自行管理 EGL 和线程会更简单。

您可以在 Grafika 中看到各种实现。 “显示 + 捕获相机”使用带有共享 EGLContextGLSurfaceView,“使用 FBO 记录 GL 应用程序”使用 SurfaceView,“播放影片 (TextureView) "使用 TextureView 等。

关于android - GLSurfaceView 如何使用我的 EGLDisplay、EGLContext 和 eglSurface?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21699323/

相关文章:

java - Android Studio for 循环问题

android:显示进度对话框

ios - 使用陀螺仪数据旋转虚拟相机 - iOS 上的 OpenGL ES

java - OpenGL ES 2.0 不绘制任何东西

触摸/释放屏幕时 Galaxy Note 2 上的 Android 线程性能/优先级

java - 多个 Activity 在单个布局中进行更改

iphone - 使用核心图像过滤器的 split 色调效果?

android - 如何将纹理渲染到 Android GLSurfaceView

android - 从图库加载图像时出现空指针异常。