Android NDK上EGLNativeWindowType的有效值

Android NDK上EGLNativeWindowType的有效值,android,android-ndk,egl,Android,Android Ndk,Egl,如何初始化EGLNativeWindowType以创建Android原生OpenGL ES 3.0应用程序 我还没有找到任何地方记录EGLNativeWindowType的有效值。我正在阅读OpenGLES3.0编程指南第二版。我还用谷歌搜索了很多(太多)术语 我们不能简单地在Android上创建本机窗口。你必须和屏幕排字员谈谈。以前的情况是,如果应用程序框架没有运行,以root身份运行的程序可以打开帧缓冲区设备,但这(a)不是很有用,(b)在没有fbdev的设备上无法工作 您需要从系统中获取一

如何初始化EGLNativeWindowType以创建Android原生OpenGL ES 3.0应用程序
我还没有找到任何地方记录EGLNativeWindowType的有效值。我正在阅读OpenGLES3.0编程指南第二版。我还用谷歌搜索了很多(太多)术语

我们不能简单地在Android上创建本机窗口。你必须和屏幕排字员谈谈。以前的情况是,如果应用程序框架没有运行,以root身份运行的程序可以打开帧缓冲区设备,但这(a)不是很有用,(b)在没有fbdev的设备上无法工作


您需要从系统中获取一个窗口,并使用它。文档中有一个示例。

非常感谢您的回答,希望我能很快找到正确的配置:-)。调用的Java方法如何知道传递给主C函数的“app”参数是什么?我看到窗口类型在app结构中,上面的代码中没有定义。顺便说一句,在我读到的书中,他们并没有简单地这么做,但有两个参数我必须初始化才能运行他们的代码,我不知道其中一个参数——我在Q中提到的那个。好吧,我想我明白了一点:为了在Android原生应用程序中处理事件,我必须创建Android原生活动。此活动将从engine->app->window字段中的系统获取参数。对吗?首先完全误解了。对于那些感兴趣并关注我在这里的独白的人:当你告诉Android原生API从原生main func开始,告诉它你的清单中没有java代码,并使用原生活动时,它会运行一个主要方法。当它启动本机活动时,它还将向它传递一个C结构,其中包含您(我)需要的所有内容,就像上面答案中的链接一样。