Uso de OpenGL desde el hilo principal de Android

Me gustaría llamar a un método GLES20 cuando se selecciona un elemento del menú de opciones.

 public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.clear: GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); break; // ... } } 

Esto no funciona ya que estoy en el hilo main y no en GLThread . Dice:

Llamada a OpenGL ES API sin contexto actual (registrada una vez por hilo)

Pero, ¿qué debo hacer para que las cosas funcionen?

Encontré la respuesta por mi cuenta:

 public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.clear: // GLSurfaceView.queueEvent surface.queueEvent(new Runnable() { @Override public void run() { GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); } }); break; // ... } } 
  • OpenGL ES 2.0 Error al asignar correctamente el atributo de color
  • Mal rendimiento de Android Canvas.drawBitmap - cambiar a OpenGL?
  • ¿Cómo aprender y usar OpenGL ES 2.0? Simplemente no lo entiendo - Qn serio.
  • ¿Se descarta mal el rendimiento del programa en OpenGL?
  • Dibuja Pixel con OpenGLEs para Android
  • Cómo obtener una pantalla EGL / contexto a un GLSurfaceView específico
  • Android texturas blancas opengl en la variante de Samsung Galaxy
  • Cómo cargar texturas en OpenGL ES de manera eficiente
  • Los límites de Viewport en cualquier resolución con OpenGL ES
  • OpenGL ES 2.0 PNG canal alfa
  • ¿Por qué eclipsar mi textura con el color?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.