질감이있는 직사각형을 그리기 위해 표시 목록을 사용하는 것이 좋습니까?OpenGL 표시 목록 : 2D 스프라이트를 그리려면?
표시 목록은 스프라이트가 사용중인 텍스처가 변경된 경우에만 다시 컴파일됩니다.
질감이있는 직사각형을 그리기 위해 표시 목록을 사용하는 것이 좋습니까?OpenGL 표시 목록 : 2D 스프라이트를 그리려면?
표시 목록은 스프라이트가 사용중인 텍스처가 변경된 경우에만 다시 컴파일됩니다.
하나의 스프라이트를 그리는 데는 그다지 문제가 없지만 glRotate/glTranslate를 사용하여 스프라이트를 배치한다고 가정 할 때 이점이 없습니다. 그렇게 많은 게임이 쓰여졌습니다.
제 게임에서는 GL_DYNAMIC_DRAW가있는 버텍스 버퍼 객체를 사용하여 각 텍스처 아트릴을 공유하는 모든 스프라이트를 저장합니다. 나는 CPU의 vert 위치를 업데이트하고 한 번의 그리기 호출로 전체 배치를 보냅니다. 이 접근법을 사용하여 더 많은 스프라이트를 그릴 수 있습니다. 더 많이 그릴 필요가 있다면 버텍스 쉐이더의 위치를 사용할 수 있습니다.
또한 OpenGL ES2는 표시 목록을 지원하지 않으므로 ES2 장치로 이식 할 생각이라면 다시해야합니다. (iPhone/iPad는 ES1을 지원하지만 ES2와 혼합 및 일치시킬 수는 없으며 디스플레이 목록 또는 쉐이더를 사용할 수 있지만 둘 다 사용할 수는 없습니다.