其他分享
首页 > 其他分享> > android – 如何获取特定GLSurfaceView的EGL显示/上下文

android – 如何获取特定GLSurfaceView的EGL显示/上下文

作者:互联网

这是对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实现.

解决方法:

EGL没有特定于Android的特定功能.当你创建一个EGL窗口表面(eglCreateWindowSurface)时,你会给它一个Surface或SurfaceHolder(SurfaceView会给你.)这意味着你可以从C,C或任何其他语言中复制/粘贴一个EGL示例并拥有它在几分钟内在Android上工作.我就是这样做的;-)

更新:我刚刚阅读了您的其他消息.您需要EGL来初始化GLES上下文.

标签:android,opengl-es,opengl-es-2-0,glsurfaceview
来源: https://codeday.me/bug/20190630/1338322.html