这是对my original Question的跟进,这可能过于宽泛(而这可能过于具体,但我可以应用牛顿方法)。
我的具体情况是:Android上的OpenGL ES 2.0,只使用Java(没有JNI / Native代码)
我试图了解EGL和Android的GLES implimentation如何一起工作(或不工作)。我遇到了麻烦,因为EGL界面(API)似乎不适合Android的基于Java的基于活动的操作系统。
作为一个具体示例:我已经使用GLSurfaceView子类化并使用XML布局创建实例,然后使用findViewById()
来检索引用。使用这种方法我有textured triangle example工作(Android 2.2上的GLES 2.0,API级别8)。此示例不使用EGL。作为一个学习练习,我想用EGL重新编写它
我可以找到的所有示例都使用eglGetDisplay()
和eglInitialize()
,并在油腻的黑烟中创建一个上下文。我发现的示例,参考和问题都没有专门适用于ES2.0 / EGL / Android / Java。我完全错过了什么吗? This question是相关的(我认为),但没有任何回复,the ES 2.0 Programming Guide中使用的示例是一个独立的C实现。
答案 0 :(得分:3)
EGL没有特定于Android的特定功能。当你创建一个EGL窗口表面(eglCreateWindowSurface)时,你会给它一个Surface或SurfaceHolder(SurfaceView会给你。)这意味着你可以从C,C ++或任何其他语言中复制/粘贴一个EGL示例并拥有它在几分钟内在Android上工作。这就是我的方式; - )
更新:我刚刚阅读了您的其他消息。您需要EGL来初始化GLES上下文。