在 OpenGL 中,如何绘制圆的轮廓的给定百分比?我怎样才能控制轮廓的粗细?
示例:如果百分比为 100,则应绘制一个完整的圆的轮廓。如果百分比为50,则应绘制半个圆的轮廓。
我已经尝试了以下方法,但问题是它完成了线循环,导致一条连接圆形轮廓的起点和终点的线。此外,它并不能让我改变轮廓的粗细。
glBegin(GL_LINE_LOOP);
for (int i=0; i < (360/10*percent/10); i++) {
float degInRad = i*DEG2RAD;
glVertex2f(a+cos(degInRad)*r,b+sin(degInRad)*r);
}
glEnd();
我很想把我的GL_POINTS圈起来,但我想知道是否有更好的方法?
最佳答案
将GL_LINE_LOOP
替换为GL_LINE_STRIP
,这样最后一个和第一个顶点就不会连接。使用 glLineWidth()
函数定义线条粗细。
关于c++ - 绘制圆轮廓的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11492414/