私はlibgdxを使用していますし、コードglVertexPointerのfloat配列をjava.nio.Bufferに変換するには?
float[] x;
...
Buffer vVertices=x;//what to do here?
gl.glVertexPointer(2, GL10.GL_FLOAT, 0, vVertices);
を以下しているしかし、私はバッファへの配列xを渡すことができるかどうかはわかりませんよ?何か案が?
私はlibgdxを使用していますし、コードglVertexPointerのfloat配列をjava.nio.Bufferに変換するには?
float[] x;
...
Buffer vVertices=x;//what to do here?
gl.glVertexPointer(2, GL10.GL_FLOAT, 0, vVertices);
を以下しているしかし、私はバッファへの配列xを渡すことができるかどうかはわかりませんよ?何か案が?
ByteBuffer byteBuf = ByteBuffer.allocateDirect(x.length * Float.BYTES); //4 bytes per float
byteBuf.order(ByteOrder.nativeOrder());
FloatBuffer buffer = byteBuf.asFloatBuffer();
buffer.put(x);
buffer.position(0);
バッファからByteBufferとFloatBufferの両方を継承します。
あなたはそれを行う必要があります。
FloatBuffer vVertices = Buffers.newDirectFloatBuffer(x);
vVertices.rewind();
それはJOGL 2.0で正常に動作します: static FloatBuffer newDirectFloatBuffer(float[] values)
それでもJOGL 1を使用する場合は、このヘルパーは、クラスcom.sun.opengl.utilです。 BufferUtil。
最良の解決策は、LIBGDXの方法を使用することです。 static java.nio.FloatBuffer newFloatBuffer(int numFloats)