将glLineWidth用于特定行而不影响其他行

时间:2014-04-06 09:06:11

标签: opengl

我是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

2 个答案:

答案 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