2016-10-31 9 views
0

私は、二重配列を塗りつぶす連続したデータストリームに対処しなければなりません。それぞれの配列はメインスクリーンに表示される画像に対応しています。ビットマップを作成するのではなく、OpenGLを使用して、受信データの表示を更新する必要があります。OpenGLテクスチャでデータストリームをリフレッシュするにはどうすればいいですか?

だから、私はloadTexture方法でこれを置く:

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); 

しかし、私は私のGLSurfaceView.Rendererのメソッドのコードの同じ部分を追加したように、イメージは、リフレッシュされないが、それは動作しません。どちらか。手伝ってくれますか?

答えて

0

は実際に、私はチュートリアルの例にかかったメソッドの呼び出しでエラーが発生しました;)実行している場合:

GLES20.glTexSubImage2D(GLES20.GL_TEXTURE_2D, 0, 0, 0, 512, 512, 
       GLES20.GL_RGB, GLES20.GL_UNSIGNED_BYTE, bufer); 

はそれがうまく走った

関連する問題