Ich muss mit einem kontinuierlichen Datenstrom umgehen, der doppelte Arrays füllt, von denen jedes den Bildern entspricht, die ich auf dem Hauptbildschirm anzeige. Anstatt Bitmaps zu erstellen, möchte ich OpenGL
verwenden, um die Anzeige mit den eingehenden Daten zu aktualisieren.Wie aktualisiert man einen Datenstrom mit einer OpenGL-Textur?
Also, ich habe dies in einer loadTexture
Methode:
int[] textureId = new int[1];
ByteBuffer buffer = ByteBuffer.allocateDirect(size*size*3);
buffer.put(data); # where data is some byte[size*size*3];
buffer.position(0);
GLES20.glGenTextures(1, textureId, 0);
GLES20.glBindTexture (GLES20.GL_TEXTURE_2D, textureId[0]);
GLES20.glTexSubImage2D (GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGB, 512, 512, 0,
GLES20.GL_RGB, GLES20.GL_UNSIGNED_BYTE, buffer);
Aber die Bilder nicht aktualisiert werden, so dass ich das gleiche Stück Code in der Methode meiner GLSurfaceView.Renderer
hinzugefügt, aber es funktioniert nicht entweder. Kannst du helfen?