我是OpenGL的新手。我只是想使用glLineWidth来加粗一行,但这也会影响所有其他行。所以我尝试了另一种方法,将glLineWidth置于开始和结束之间,然后它没有工作。我的代码如下所示:
glBegin(GL_LINES);
glLineWidth(3);
glVertex2f(5, 10);
glVertex2f(30, 35);
glEnd();
glBegin(GL_LINES);
glVertex2f(20, 25);
glVertex2f(50, 55);
glEnd();
那么有没有办法只让这条线变厚?我一直在使用谷歌搜索,但无法找到一个简单的解决方案:S
答案 0 :(得分:4)
你尝试过这样的事吗?
glLineWidth(3);
glBegin(GL_LINES);
glVertex2f(5, 10);
glVertex2f(30, 35);
glEnd();
glLineWidth(1);
glBegin(GL_LINES);
glVertex2f(20, 25);
glVertex2f(50, 55);
glEnd();
答案 1 :(得分:2)
glLineWidth
是一个影响全局状态的函数(即它适用于调用后绘制的所有行)。如果您希望其他线条具有不同的宽度,则必须在绘制之前指定新的glLineWidth
。
请注意,默认线宽值为1.0
。