Cómo crear una textura OpenGL de matriz de bytes en Android

Soy nuevo en OpenGL todos juntos. Estoy haciendo una aplicación de color ciego en Android con fines académicos. Tengo todo el código necesario en el shader para hacer las manipulaciones que necesito, pero todavía tengo que obtener el shader para poder ver los datos que creo en mi código Java. En mi código Java, terminé con una gran matriz int de tamaño 262144. Traté de pasar esta matriz en el shader de cualquier manera que pude, pero era demasiado grande. He sido informado de que puedo pasar esta gran cantidad de información fácilmente en el sombreado si convierto mis datos en una textura.

He convertido mi matriz de int en una matriz de bytes según instrucciones de un colega, pero ahora estoy perdido en cuanto a cómo crear la textura opengl e introducir mis datos de byte en él para que el sombreador vea y use.

Por lo tanto, tengo que crear una textura opengl, llenarlo con mis datos (es la matriz de bytes mejor?) Y, a continuación, ser capaz de utilizar esa textura en mi shader. Si alguien me puede ayudar, sería muy apreciado. Trabajo bien después de ver ejemplos, no explicaciones porque soy muy opengl analfabeto pero acojo cualquier ayuda.

Traté de codificar algunos. Terminé tratando de hacer un GLES20.glTexImage2D. Pensé que podría pasar en mi matriz de bytes, pero se necesita un búfer ?? Por favor, dame todos los pasos necesarios para completar mi tarea.

¡Muchas gracias!

Micro

Creo que necesitas hacer lo siguiente;

byte data[4 * 262144]; // your byte array, 4 * int count ByteBuffer buffer = ByteBuffer.allocateDirect(4 * 262144); buffer.put(data); buffer.position(0); GLES20.glTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGBA, width, height, 0, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, buffer); 
  • ¿Hay algún punto en el uso de un búfer de índice con una textura en OpenGL ES (Android)?
  • Problema de opengl de Android (extraño)
  • Android NDK OpenGL ES 2.0 Tono de textura
  • Android Opengl ES Número máximo de texturas
  • Mapeando una textura en un cuadrado: ¿Por qué se rota la imagen?
  • Cómo dibujar una imagen de fondo grande con libgdx - las mejores prácticas?
  • Tamaño máximo de imagen en el dispositivo Android
  • Opengl ES 1.1 / Android - La debacle de la textura-mapeo-a-uno-cuadrado de 2011
  • ¿Por qué los colores de los píxeles no son correctos en OpenGL ES 2.0 en Android?
  • Limitación del tamaño de la textura? Android Open GL ES 2.0
  • LibGDX crea la textura de base64 PNG ByteArrayInputStream
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.