2009-10-25 3 views
1

거리의 Word는 glDrawElements가 glDrawArrays보다 훨씬 빠릅니다.glDrawElements 및 여러 이미지

그래서 glDrawElements를 사용하여 모든 것을 표시하고 싶습니다. 내가 가지고있는 문제는 화면에 나타낼 이미지 모음이 있다는 것입니다. 각 이미지는 다른 텍스처에 있습니다.

이렇게하려면 glDrawElements를 사용할 수 있습니까?

질감을 전환하는 방법

답변

0

여러 프리미티브간에 공유되는 정점이있는 경우 정점 인덱싱 (즉, glDrawElements)을 사용하면 정점 버퍼의 크기를 크게 줄일 수 있습니다.

예를 들어 GL_TRIANGLES으로 메쉬를 그리는 경우 확실히 색인을 사용해야합니다. 단순히 분리 된 삼각형을 그리는 경우 인덱싱을 사용할 이유가별로 없습니다.

는 관계없이 glDrawElements 또는 glDrawArrays 사용 여부, 그것은 항상 바람직 그리기 호출 수를 최소화 할 수 있습니다. 텍스처 아틀라스를 사용하면 다른 방법으로는 glBindTexture에 대한 호출로 구분되는 여러 그리기 호출을 결합 할 수 있습니다.

0

직접 입력 할 수 없습니다.

당신이 할 수있는 일은 모든 작은 텍스처를 포함하는 하나의 큰 텍스처를 만들고 그에 따라 텍스처 좌표를 조정하여 텍스처 주소를으로 만드는 것입니다.

또한 glDrawArraysglDrawElements의 비교에 대해 어디서 들었습니까? 설득력 있고 모든 경우에 포함 된 비교를 본적이 없습니다.

+0

나는 71 제곱이라는 사이트에서 비디오 튜토리얼에서 얻었습니다. 어쨌든 아이폰을위한 것 같아요 ... 3 gldrawarrays 통화 대 1 gldrawelement 전화는 CPU가 사용하고 아이폰 CPU가 유지할 수없는 사실로 인해 미친 느린했다. 한 번의 호출로 그래픽 하드웨어 가속을 사용하여 동일한 작업을 수행했습니다. – Mel