【发布时间】:2016-05-08 19:22:15
【问题描述】:
我正在尝试在屏幕上绘制一个多边形,其顶点由鼠标单击确定。 左键单击将顶点添加到多边形,右键单击会将最后一个顶点添加到多边形,将其连接到第一个并创建形状。
我目前有两个向量,一个用于 x 坐标,一个用于 y 坐标,我正在循环创建一个线循环的向量。向量中的 -1 确定多边形的结束和新多边形的开始。这是一个随后在显示函数中调用的函数。
最终我必须扫描转换这些多边形,然后使用 Sutherland Hodgman 算法将它们剪辑到用户定义的窗口中,但我什至无法显示多边形。
glBegin(GL_LINE_LOOP);
for (int i = 0; i < xCo.size(); i++)
{
if (xCo[i + 1] != -1)
{
glVertex2f(xCo[i], yCo[i]);
glVertex2f(xCo[i + 1], yCo[i + 1]);
}
else
{
glVertex2f(xCo[i + 1], yCo[i + 1]);
glVertex2f(xCo[0], yCo[0]);
}
}
glEnd();
glFlush();
xCo.clear();
yCo.clear();
【问题讨论】: