【问题标题】:How to get EGLNativeWindowType in iOS platform?iOS平台如何获取EGLNativeWindowType?
【发布时间】:2016-12-27 21:30:58
【问题描述】:

如何在iOS平台中获取EGLNativeWindowType对象?或者实现相当于下面的android代码?

为了提供更深入的了解,我目前正在将一个原生 android 应用程序移植到 iOS,它共享一个核心 C 库,而 iOS 项目本身是用 Objective-C 编写的。该项目也使用 EGL 而不是 EAGL。

现有的源代码是标准C但是使用Android的NDK; EGLSurface 对象定义为 EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list)

EGLNativeWindowType win = AndroidMainGetAndroidActivity()->app->window;
EGLSurface eglSurface = eglCreateWindowSurface(e_eglDisplay, config, win, NULL);

我没有找到任何与 EGLNativeWindowTypeiOS 相关的文档。

【问题讨论】:

    标签: ios objective-c c opengl-es egl


    【解决方案1】:

    iOS 使用 EAGL 作为 OpenGL ES 和底层窗口系统之间的接口。 EAGL 需要 iOS 就像 EGL 需要 Android 才能通过 OpenGL ES 进行绘制一样。所以你不能在 iOS 上使用 EGL API。

    an article 中描述了它们之间的差异以及它们的工作原理。

    【讨论】:

      猜你喜欢
      • 2018-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-03
      • 2018-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多