OpenGL ES를 사용하여 Android 용 2D Openstreetmap 렌더링 응용 프로그램을 만들고 있습니다. Android OpenGL ES - 채워진 오목 폴리곤을 그리는 방법?
불행하게도 나는 약 50 점 이상 구성된 그리기 오목 다각형 고민하고있다. 이 아무런 문제가없는 것처럼gl.glVertexPointer(2, GL10.GL_FLOAT, 0, vertBuff); // size = 2 because 2D
gl.glDrawElements(GL10.GL_TRIANGLE_FAN, pointCount, GL10.GL_UNSIGNED_SHORT, indexBuff);
이러한 접근 방식은 다각형 그리기 예를 들어, 한 내 다각형 너무 복잡하지 않은 것처럼 잘 작동 : 내 다각형가 작성되는 것을 달성하기 위하여, 나는 GL10.GL_TRIANGLE_FAN를 사용하고 모든 : GL_TRIANGLE_FAN 항상 첫 번째 점 (이 경우)에서 시작하여 전체 모양이 완료 될 때까지 다음, 삼각형을 그릴이 다른 점을 사용하는
내 문제가있다. 이
(이 예에서는, 도시를 흐르는 강 복잡한 다각형입니다) : 더 복잡한 다각형이 그려 질 경우, 이것은 당신이 여기에서 볼 수있는 문제에될 수 있습니다
지금 내 질문에이 문제를 피하여 복잡한 다각형도 이 올바르게 채워지도록 채울 수 있습니까?
문제는 오목 폴리곤을 그리는 데 있습니다.
GL_TRIANGLE_FAN 대신 GL_TRIANGLE_STRIP을 사용하면 폴리곤이 올바르게 그려지지만 그 점만 삼각형으로 연결되며 다각형 자체는 채워지지 않습니다.
GL_TRIANGLE_FAN은 안정적으로 [* convex * polygon]을 그릴 수 있습니다. (http://en.wikipedia.org/wiki/Convex_and_concave_polygons) . – user2864740