私のアプリケーションでは、OpenGL で複数の要素を描画する必要があります。一部は三角形で、他はライン ストリップです。新しい形状を描画するときはいつでも、頂点を複数float[]
に、インデックスを複数に配置しています。また、新しい,をshort[]
作成し、新しい配列ごとに機能させる必要があります。複数の要素をより効率的に描画するにはどうすればよいですか? すべての頂点を 1 つにまとめ、要素ごとに新しい を作成して余分な配列を削除することを考えていましたが、 one を使用して、すべての配列を次のように 1 つにまとめることは可能ですか。FloatBuffer
ShortBuffer
ByteBuffer
float[]
short[]
FloatBuffer
ShortBuffer
ByteBuffer
float[] vertices = { -3, -3, -3, 2, 3, 0, 2, -1, 0, 0, 5, 2, 3, 1 };
short[] indItemA = { 0, 1, 2, 0, 2, 3 };
short[] indItemB = { 4, 5, 6 };
FloatBuffer fBuff;
ShortBuffer sBuff;
ByteBuffer bBuff = ByteBuffer.allocateDirect(vertices.length * 4);
fbBuff.order(ByteOrder.nativeOrder());
fBuff = bBuff.asFloatBuffer();
fBuff.put(vertices);
fBuff.position(0);
sBuff = bBuff.asShortBuffer();
sBuff.put(indItemA);
sBuff.position(0);
sBuff.put(indItemB);
sBuff.position(0);