【问题标题】:Texture widgets render OpenGL example纹理小部件渲染 OpenGL 示例
【发布时间】:2018-09-09 14:07:44
【问题描述】:

我的 Flutter 应用需要显示 3d 模型并允许用户旋转它。我通过本机视图(ViewController & Activity)和用于渲染的 C++ 代码实现了这一点,下一步我尝试使用Texture 小部件来删除本机视图并仅使用 Flutter。我设法通过FlutterTexture 在iOS 上显示OpenGL 渲染,但不明白如何在Android 上实现。你能举出一些例子吗?如何将 OpenGL 与 SurfaceTexture 一起使用并将其连接到 Texture 小部件?

【问题讨论】:

标签: android opengl-es flutter


【解决方案1】:

在配置 OpenGL 堆栈时,应将 SurfaceTexture 传递给 eglCreateWindowSurface

我花了一段时间构建了示例项目和文章: https://github.com/mogol/opengl_texture_widget_example https://medium.com/@germansaprykin/opengl-with-texture-widget-f919743d25d9

private void initGL() {
    egl = (EGL10) EGLContext.getEGL();
    eglDisplay = egl.eglGetDisplay(EGL10.EGL_DEFAULT_DISPLAY);

    int[] version = new int[2];
    egl.eglInitialize(eglDisplay, version);

    EGLConfig eglConfig = chooseEglConfig();
    eglContext = createContext(egl, eglDisplay, eglConfig);

    eglSurface = egl.eglCreateWindowSurface(eglDisplay, eglConfig, texture, null);

    egl.eglMakeCurrent(eglDisplay, eglSurface, eglSurface, eglContext);
}

【讨论】:

猜你喜欢
  • 2013-12-27
  • 2014-08-09
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
  • 2019-04-02
  • 2012-06-03
  • 2014-07-22
相关资源
最近更新 更多