用C ++用OpenGl画粗线

时间:2019-07-04 15:49:54

标签: c++ opengl line opengl-compat

我想使用c ++中的OpenGL库创建一条粗线,但是它不起作用。 我尝试了这段代码:

glBegin(GL_LINES);
glLineWidth(3);
glVertex2f(-0.7f, -1.0f);
glVertex2f(-0.7f, 1.0f);
glEnd();

这里有什么问题吗?

1 个答案:

答案 0 :(得分:3)

不允许以glLineWidth / glBegin的顺序调用glEnd。在以下位置设置线宽:

glLineWidth(3);

glBegin(GL_LINES);
glVertex2f(-0.7f, -1.0f);
glVertex2f(-0.7f, 1.0f);
glEnd();

一旦glBegin开始绘制图元,就只能指定顶点坐标(glVertex)并更改属性(例如glColorglTexCoord ...) ,直到绘制结束(glEnd)。
所有其他指令都将被忽略,并导致GL_INVALID_OPERATION错误,可以通过glGetError来获取。