glLineWidth 函数

glLineWidth 函数指定光栅化线的宽度。

语法

void WINAPI glLineWidth(
   GLfloat width
);

parameters

width

光栅化线条的宽度。 默认值为 1.0。

返回值

此函数不返回值。

错误代码

glGetError 函数可以检索以下错误代码。

名称 含义
GL_INVALID_VALUE
宽度 小于或等于零。
GL_INVALID_OPERATION
函数是在 对 glBegin 的调用和对 glEnd 的相应调用之间调用的。

备注

glLineWidth 函数指定锯齿线和抗锯齿线的光栅化宽度。 使用 1.0 以外的线条宽度会产生不同的效果,具体取决于是否启用了行抗锯齿。 使用参数GL_LINE_SMOOTH调用 glEnableglDisable 来控制行抗锯齿。

如果禁用行抗锯齿,则通过将提供的宽度舍入为最接近的整数来确定实际宽度。 (如果舍入结果值为 0.0,则表示行宽为 1.0) If | ? x |= | ? y |, i 像素在光栅化的每个列中填充,其中 i宽度的舍入值。 否则,将在光栅化的每一行中填充 i 像素。

如果启用了抗锯齿,则线光栅化会为每个像素方块生成一个片段,该片段与位于矩形中的区域相交,其宽度等于当前线条宽度,长度等于线的实际长度,并在数学线段上居中。 每个片段的覆盖率值是矩形区域与相应像素正方形相交的窗口坐标区域。 此值将保存并在最后的光栅化步骤中使用。

启用行抗锯齿时,并非所有宽度都受支持。 如果请求了不受支持的宽度,则使用最接近的受支持宽度。 仅保证支持宽度 1.0;其他依赖于实现。 可以通过调用带参数的 glGet 来查询受支持宽度的范围以及范围内受支持宽度的大小差GL_LINE_WIDTH_RANGE和GL_LINE_WIDTH_GRANULARITY。

查询GL_LINE_WIDTH时,始终返回 glLineWidth 指定的线条宽度。 锯齿和抗锯齿线的固定和舍入对指定的值没有影响。

非抗锯齿线宽度可以固定到与实现相关的最大值。 虽然无法查询此最大值,但它必须不小于抗锯齿线的最大值,舍入到最接近的整数值。

以下函数检索与 glLineWidth 相关的信息:

带参数GL_LINE_WIDTH的 glGet

带参数GL_LINE_WIDTH_RANGE的 glGet

带参数GL_LINE_WIDTH_GRANULARITY的 glGet

带参数GL_LINE_SMOOTH的 glIsEnabled

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Gl.h

Opengl32.lib
DLL
Opengl32.dll

请参阅

glBegin

glEnable

glEnd

glIsEnabled