Cómo obtener una pantalla EGL / contexto a un GLSurfaceView específico

Este es un seguimiento de mi pregunta original , que probablemente fue demasiado amplia (mientras que ésta es probablemente demasiado específica, pero tal vez pueda aplicar el Método de Newton).

Mi situación específica es: OpenGL ES 2.0, en Android, utilizando sólo Java (no código JNI / Native).

Estoy tratando de entender cómo EGL y la implantación GLES de Android trabajan juntos (o no). Tengo problemas porque la interfaz de EGL (API) no parece bien adaptada a Java centrada en Java, Actividad basada en SO.

Como un ejemplo específico: He subclasificado GLSurfaceView y crear una instancia usando un diseño XML y luego usar findViewById() para recuperar una referencia. Usando este enfoque, tengo el ejemplo del triángulo texturado trabajando (GLES 2.0 en Android 2.2, API nivel 8). Este ejemplo no utiliza EGL. Como ejercicio de aprendizaje quería reescribirlo usando EGL.

Todos los ejemplos que puedo encontrar utilizan eglGetDisplay() y eglInitialize() , y crear un contexto en la bocanada de humo negro graso. Ninguno de los ejemplos, referencias y preguntas que he encontrado se aplican específicamente a ES2.0 / EGL / Android / Java. ¿Estoy perdiendo algo por completo? Esta pregunta está relacionada (creo) pero no tiene ninguna respuesta y el ejemplo utilizado en la Guía de Programación ES 2.0 es una implementación C independiente.

No hay nada específico de Android para EGL realmente. Cuando se crea una superficie de ventana EGL (eglCreateWindowSurface) se le da una superficie o SurfaceHolder (que un SurfaceView le dará). Esto significa que puede copiar / pegar un ejemplo EGL de C, C ++ o cualquier otro idioma y tenerlo Trabajar en Android en cuestión de minutos. Así es como lo hago 😉

Actualización: Acabo de leer tu otro mensaje. Necesita EGL para inicializar un contexto GLES.

  • Uso de SurfaceTexture en Android
  • ¿Cuántos dispositivos Android soportan GLSurfaceView.setPreserveEGLContextOnPause hoy?
  • ¿Dónde está la documentación para OpenGL ES 2.0 en Android?
  • Android Openg GL ES 2 dibujo grandes texturas lento
  • Android glShaderBinary
  • Pasando varias texturas a shader en LibGDX
  • EglSwapBuffers es errático / lento
  • Uso del flujo de vídeo como textura abierta de GL ES 2.0
  • Dónde almacenar código de sombreado en la aplicación para Android
  • Aprenda OpenGL: ¿por dónde empezar o cómo ha aprendido OpenGL?
  • Dibujo Triángulo con OpenGl, no aparece?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.