2
OpenGL GLSurfaceView
にバイト配列を表示しようとしています。OpenGL、Androidでバイト配列からテクスチャを作成する
だから私はRenderer
を実装GLRenderer
クラスを持っているし、方法onSurfaceCreated
byte[] data = new byte[512*512];
for (int i = 0; i < 512*512; i++) {
data[i] = 100;
}
ByteBuffer buffer = ByteBuffer.allocateDirect(512*512);
buffer.put(data);
buffer.position(0);
GLES20.glTexImage2D(GLES20.GL_TEXTURE_2D, 0, GLES20.GL_RGBA, 512, 512, 0,
GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, buffer);
しかし、何が画面に表示されません。参考のために、onSurfaceChanged
との方法に特別なコードはありません。
符号なしバイトRGBA形式を使用している場合は、1ピクセルあたり4バイトのデータが必要です。また、 'onDrawFrame'に特別なコードがないということは何ですか?どのようにテクスチャをバインドしますか? – pleluron
GL_REDカラーフォーマットを使用し、1ピクセルあたり1バイトに戻ります。 – pleluron
@pleluronご回答いただきありがとうございます。答えを投稿できますか? – Newben