Actualización de la textura con glTexImage2D (..) en OpenglES2

El código de inicialización crea una textura RGB de un solo color con 128×128 píxeles:

GLES20.glGenTextures ( 1, textureId, 0 ); GLES20.glBindTexture ( GLES20.GL_TEXTURE_2D, textureId[0] ); GLES20.glTexImage2D ( GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGB, bitmap.getWidth(), bitmap.getHeight(), 0,GLES20.GL_RGB, GLES20.GL_UNSIGNED_BYTE, byteBuffer );| GLES20.glBindTexture ( GLES20.GL_TEXTURE_2D, 0 ); 

Después de la inicialización tengo la textura adecuada y todo funciona bien. En algún punto tengo que hacer algunos cambios en mi textura o incluso reemplazarla completelly con otra imagen:

 GLES20.glBindTexture ( GLES20.GL_TEXTURE_2D, textureId[0] ); GLES20.glTexImage2D ( GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGB, bitmap.getWidth(), bitmap.getHeight(), 0,GLES20.GL_RGB, GLES20.GL_UNSIGNED_BYTE, byteBuffer );| GLES20.glBindTexture ( GLES20.GL_TEXTURE_2D, 0 ); 

Pero glTexImage2D no realiza ningún cambio en la textura y no devuelve ningún error. Pero este código funciona correctamente en mi proyecto iOS, pero en el caso de Android no lo hace. Parece que no puedo usar glTexImage2D (…) dos veces con la misma textura, en otras palabras, la única manera de modificar mi textura es crear una nueva y borrar la antigua, pero ¿por qué funciona correctamente en iOS? ¿Qué tiene de malo mi código?

Lo siento, fue culpa mía. Intenté llamar a la función glTexImage2D de otro hilo (no del hilo GL). Ahora todo funciona perfecto.

Creo que glTexImage2D () se utiliza para definir una textura y glTexSubImage2D () se utiliza para redefinir / actualizar una textura.

Es posible que tenga que cambiar a glTexSubImage2D () para su actualización de textura.

  • Android GLES20.glBlendEquation no funciona?
  • Intermitentes marcos lentos en Android OpenGL ES 2.0
  • Google Maps Android API V2 no muestra mapas en Emulator
  • Traducción después de la rotación
  • Uso de FBO para grabar la pantalla en Android
  • ¿Hay alguna forma de comprobar si el dispositivo Android es compatible con openGL ES 2.0?
  • Cómo renderizar la imagen de la cámara YUV-NV21 de Android en el fondo en libgdx con OpenGLES 2.0 en tiempo real?
  • Dibuja una imagen 2D con OpenGL ES 2.0
  • Android OpenGL ES 2.0: El modelo de cubo no sólo está distorsionado (la perspectiva es incorrecta?), Sino también las caras se cargan incorrectamente (los vértices no son correctos?)
  • Android.grapics.matrix to OpenGL 2.0 ES traducción de la textura
  • GlDepthMask (GL_FALSE) trashes el búfer de cuadros en algunas GPUs
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.