我需要绘制一个凸多边形,由6个无序顶点给出。
绘图应该使用GL_TRIANGLE_STRIP完成,并且在第一个和最后一个顶点给我两个顶点。
如何有效地重新排序顶点,以便我可以使用OpenGL和GL_TRIANGLE_STRIP绘制多边形?
答案 0 :(得分:1)
使用从第一个顶点到最后一个顶点的线条分隔所有顶点。双方应该同样多。如果不是,则多边形不是凸的,或者给定的起点和终点是错误的。
按dot(lineDirection, vertex - firstVertex)
对两个集合进行排序。这有效地将顶点投影到线上。然后从起始顶点开始,按给定顺序在两个集合之间交替。