我想使用c ++中的OpenGL库创建一条粗线,但是它不起作用。 我尝试了这段代码:
glBegin(GL_LINES);
glLineWidth(3);
glVertex2f(-0.7f, -1.0f);
glVertex2f(-0.7f, 1.0f);
glEnd();
这里有什么问题吗?
答案 0 :(得分:3)
不允许以glLineWidth
/ glBegin
的顺序调用glEnd
。在以下位置设置线宽:
glLineWidth(3);
glBegin(GL_LINES);
glVertex2f(-0.7f, -1.0f);
glVertex2f(-0.7f, 1.0f);
glEnd();
一旦glBegin
开始绘制图元,就只能指定顶点坐标(glVertex
)并更改属性(例如glColor
,glTexCoord
...) ,直到绘制结束(glEnd
)。
所有其他指令都将被忽略,并导致GL_INVALID_OPERATION
错误,可以通过glGetError
来获取。