2013-04-05 7 views
0

현재 쿼드 삼각형 스트립을 반복하여 각각을 그리기 때문에 성능이 매우 저하되고 있으므로 모든 사각형을 하나의 단일 그리기 호출로 배치하고 싶습니다.OpenGL ES에서 다중 사각형 일괄 처리

주위를 둘러 보니 가장 좋은 방법은 단순히 정점 복제 및 GL_TRIANGLE_STRIP 대신 GL_TRIANGLES를 사용하여 각 직사각형에 두 개의 개별 삼각형을 그리는 오버 헤드가 발생하는 것입니다.

문제는 각 사각형마다 다른 색을 가질 수 있으며 프로그래밍 방식으로 사각형 중 하나의 색을 변경해야한다는 것입니다. 그래서 단순히 하나의 GL_TRIANGLES 호출을 사용하는 것은 그 속임수를 사용하지 않습니다. 대신, 어떻게하면 각 꼭지점 데이터로 색상 데이터를 색인화하고 각 사각형에 색상을 연결해야 할 필요가있는 것처럼 보입니다. 나는 이것에 대해 어떻게 갈 것인가?

감사합니다.

답변

1

정점 채색을 사용할 수 있습니다.

정점은 위치, 색상, (여러) 질감, 보통 등 여러 개의 데이터 채널을 가질 수 있습니다.

정점에 위치와 색상을 차례로 포함하도록 interleaving을 권장합니다. separate array of just colors을 설정하고 그런 식으로 할 수도 있지만 (색상을 정확하게 배치해야합니다.)

(해당 튜토리얼은 iPhone 지향이지만 OpenGL ES 코드는 Android에서 제대로 작동해야 함)

관련 문제