对特定行使用 glLineWidth 而不影响其他行

Shu*_*o0o 1 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();
Run Code Online (Sandbox Code Playgroud)

那么有没有办法只让这条线变粗呢?我一直在谷歌搜索,但找不到简单的解决方案:S

Fir*_*aad 5

你有没有尝试过这样的事情?

glLineWidth(3);
glBegin(GL_LINES);
glVertex2f(5, 10);
glVertex2f(30, 35);
glEnd();

glLineWidth(1);
glBegin(GL_LINES);
glVertex2f(20, 25);
glVertex2f(50, 55);
glEnd();
Run Code Online (Sandbox Code Playgroud)

  • 要“停止”它,您可以简单地将其设置回其默认值 1.0,就像 Peter Clark 所说的那样,这是一个全局状态函数,因此在您更改它之前它一直有效。 (2认同)