저는 개인용 Java OpenGL (JOGL) 프로젝트에서 일하고 있으며 별도의 그리기 기능과 정점이있는 사용자 정의 객체를 사용하고 있습니다.여러 개의 glDrawArrays()를 사용하거나 하나의 큰 glDrawArrays-call에 모든 꼭짓점을 모아야합니까?
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);
}
그런 다음이 큐브 전체를 반복하여 그리기 기능을 호출합니다. 내 질문은 다음과 같습니다. 모든 정점을 하나의 큰 glDrawArrays 호출로 수집해야합니까? 즉, 모든 정점을 하나의 큰 배열로 모아 그립니다. 그것은 성능 및 fps에 많은 영향을 줍니까?
"목록"이 무슨 뜻인지 정확히 모르겠습니다. ArrayList 또는 VertexBufferObject, 또는 여기에 요점이 누락 되었습니까? – JulenissensHjelper
명확하지 않은 경우 내 사과 ... "CallList"또는 "DisplayList"라고합니다. http://www.swiftless.com/tutorials/opengl/displaylists.html – Erwald
그래, 고마워. 내가 조사 할거야. – JulenissensHjelper