2013-04-05 5 views
1

OpenGL ES에서 정점 배열의 TRIANGLE_FAN 객체를 분리하기 위해 degenerate 삼각형 (0 영역의 삼각형)을 사용할 수 있습니까? 아니면 TRIANGLE_STRIP에서만 가능합니까?OpenGL ES에서 TRIANGLE_FAN으로 삼각형을 생성하지 않습니까?

대답이 '아니오'인 경우 여러 TRIANGLE_FAN 정점 배열 그리기 호출을 하나로 배치하는 가장 좋은 방법은 무엇입니까?

답변

2

모든 삼각형 팬 삼각형이 동일한 꼭지점을 공유하므로 올바른 대답은 아니요입니다.

여러 트라이앵글 팬을 일괄 처리하려면 Vertex Buffer Objects 또는 VBO의 GL_TRIANGLES 모드를 대신 사용하는 것이 좋습니다. 작은 인덱스 버퍼 오버 헤드가 있지만 더 나은 유연성을 제공합니다.

+1

감사합니다. 또한 Android/Java OpenGL ES 사용과 관련된 VBO 정보에 대한 [다른 링크] (http://www.learnopengles.com/android-lesson-seven-an-introduction-to-vertex-buffer-objects-vbos/)가 있습니다. 좋은 예가 있습니다. – khiner

1

또한 서페이스를 팬 대신 스트립으로 삼각 분할 할 수도 있습니다. 그것은 퇴화 된 삼각형을 사용하고 그리기 호출을 하나로 묶을 수 있습니다.

표면이 n-gon이라면 쉽습니다. 버텍스 생성 순서를 변경하십시오. 중앙을 돌아 다니는 대신에 정점을 선택하여 양쪽에서 반복하여 시작하고 생성합니다. 다음은 Hexagon의 예입니다. 왼쪽 이미지는 삼각형 스트립을 사용하고 가운데는 팬을 사용합니다.

+0

이것은 답변보다 더 많은 의견입니다. –

+0

아 댓글을 올릴만큼 충분한 평판이 없습니다. ( – Milo

+0

캐치 22처럼 보이지만 그 평판을 얻는 가장 좋은 방법은 좋은 질문을하고, 좋은 답변을하고, 문제가있는 텍스트를 수정하는 것입니다. 보너스 및 허용 된 답변은 제한에서 제외됩니다!) –

관련 문제