私は個人的な Java OpenGL (JOGL) プロジェクトに取り組んでおり、個別の描画関数と頂点を持ついくつかのカスタム オブジェクトを使用しています。
public class Cube extends PhysicalObject {
public void draw(GL gl) {
gl.glColor3f(1.0f, 1.0f, 0.0f);
gl.glEnableClientState(GL.GL_VERTEX_ARRAY); // Enable Vertex Arrays
gl.glEnableClientState(GL.GL_TEXTURE_COORD_ARRAY);
gl.glVertexPointer(3, GL.GL_FLOAT, 0, vertices);
gl.glTexCoordPointer(2, GL.GL_FLOAT, 0, texCoords);
gl.glDrawArrays(GL.GL_QUADS, 0, 4*6);
gl.glDisableClientState(GL.GL_VERTEX_ARRAY);
gl.glDisableClientState(GL.GL_TEXTURE_COORD_ARRAY);
}
次に、これらの立方体の束全体をループして、描画関数を呼び出します。私の質問は次のとおりです。すべての頂点を 1 つの大きな glDrawArrays 呼び出しに集める必要がありますか。つまり、すべての頂点を 1 つの大きな配列に集めて描画する必要がありますか? パフォーマンスと fps に大きな影響を与えますか?