Android 上の Java OpenGL コードをネイティブ SDK に移植しようとしていますが、IntBuffer の実装が必要です。
基本的に、任意の整数 RGBA ピクセル カラー配列をテクスチャにロードするために Java で行うことは次のとおりです。
// pixel array
pixelIntArray = new int[width * height];
bb = ByteBuffer.allocateDirect(pixelIntArray.length * 4);
bb.order(ByteOrder.nativeOrder());
// native buffer
pixelBuffer = bb.asIntBuffer();
// push integer array of pixels into buffer
pixelBuffer.put(pixelIntArray);
pixelBuffer.position(0);
// bind buffer to texture
gl.glTexImage2D(GL10.GL_TEXTURE_2D, 0, GL10.GL_RGBA, width, height, 0,
GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, pixelBuffer);
バッファを使用してクワッドにテクスチャをプッシュできるように C で。
現在、C の pixelIntArray にバインドしているだけで、テクスチャが歪んでいます。
基本的に、Java の NIO クラスと同様のバッファーを介して、整数ピクセル配列内の一連の色をテクスチャにバインドできる必要があります。