저는 여러 프로젝트에서 사용되는이 2 차원 타일 기반 게임 엔진을 제작 해 왔습니다.OpenGL에서 여러 개의 쿼드를 그리는 가장 효율적인 방법
나는 주로 키가 어디에 화면의 타일을 렌더링하는 표시하는 것입니다
Dictionary<Point, Tile>
점의로 구성되어있다 "ScreenObject"라는 클래스를 가지고 있고, 타일로 하나 개 이상의 텍스처를 포함 그 시점에서 그려졌다. 이 ScreenObject는 타일이 수정, 삭제, 추가되는 곳입니다.
필자가 해본 테스트에서 타일을 그리는 원래의 방법은 ScreenObject를 반복하고 각 위치에서 각 쿼드를 개별적으로 그렸습니다. 읽은 바에 따르면 이것은 엄청난 자원 낭비입니다. 테스트에서 끔찍한 속도는 아니었지만 애니메이션 수업과 효과 수업을 마친 후에는 매우 느릴 것이라고 확신합니다.
마지막으로 한 가지만 생각해도 괜찮습니다. 앞서 말했듯이, Tile 클래스는 화면의 Point 위치에 그려지는 여러 텍스처를 포함 할 수 있습니다.
아마도 여기에 두 가지 옵션이 있습니다. 그려지는 각 텍스처에 대해 해당 위치에 쿼드를 추가하거나, 어떻게 든 동일한 쿼드에 대해 여러 텍스처를 사용합니다 (가능한 경우). 각 타일에 텍스처가 하나만 포함되어 있어도 64 개의 쿼드가 화면에 그려집니다. 대부분의 타일에는 2-5 개의 텍스처가 포함되므로이 방법을 사용하면 전체 쿼드 수가 크게 늘어납니다. 각각의 새로운 텍스처에 대해 쿼드를 추가하는 것이 타당할지, 아니면 더 나은 방법을 무시하고 있습니까?