FloatBuffer

floatbuffer.png

初期化の仕方

FloatBuffer mFloatVertexBuffer;
ByteBuffer vbb_cube = ByteBuffer.allocateDirect(cubeCoordsForTriangleStrip.length * 4);
        vbb_cube.order(ByteOrder.nativeOrder());// use the device hardware's
        mFloatVertexBuffer = vbb_cube.asFloatBuffer(); // create a floating point buffer
        mFloatVertexBuffer.put(cubeCoordsForTriangleStrip);
        mFloatVertexBuffer.position(0); // set the buffer to read the first coordinate

中身が見たい!

// 内容の表示
                while(0<mFloatVertexBuffer.remaining()){
                  System.out.println(mFloatVertexBuffer.get());      
                }

後からどんどん継ぎ足したい!

put(組み込み配列)

するだけで勝手にどんどん後ろに追加されるようだ。
容量を超えない限りは。
putして容量が超えてしまった場合は次のようなエラーメッセージが返ってくる

Exception in thread "main" java.nio.BufferOverflowException
    at java.nio.DirectFloatBufferU.put(DirectFloatBufferU.java:352)
    at java.nio.FloatBuffer.put(FloatBuffer.java:813)
    at InheritanceTest.main(InheritanceTest.java:18)

サポートサイト Wikidot.com