1

我在互联网上找到的示例似乎使用 EGL10.EGL_NATIVE_RENDERABLE 作为第一个参数,而使用“null”作为 eglWaitNative 的第二个参数。例如:

EGL10 egl = (EGL10) EGLContext.getEGL();
egl.eglWaitNative( EGL10.EGL_NATIVE_RENDERABLE, null );
egl.eglWaitGL();
egl.eglSwapBuffers(mEGLDisplay, mEGLSurface);

但是,在 Galaxy Nexus 上,这会导致以下错误消息向 logcat 输出发送垃圾邮件:

E/IMGSRV  ([pid]): :0: WSEGL_WaitNative: Unrecognized engine

似乎第一个参数一定是错误的,因为 API 将它列为一个名为“engine”的 int,这似乎与错误消息“unrecognized engine”相匹配。如果是这样,我应该改用什么?如果第二个参数是问题,那么根据 API,它是“对象”类型,并且表示描述渲染目标的特定于平台的对象。不过,我似乎无法弄清楚除了“null”之外还有什么可以去这里。我完全偏离轨道了吗?

4

1 回答 1

1

第一个参数应该是 EGL10.EGL_CORE_NATIVE_ENGINE,而不是 EGL10.EGL_NATIVE_RENDERABLE。

于 2012-05-30T00:17:25.893 回答