glLineWidth 函数

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

语法

void WINAPI glLineWidth(
   GLfloat width
);

parameters

width

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

返回值

此函数不返回值。

错误代码

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

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

注解

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

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

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

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

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

非抗锯齿线宽度可以固定到依赖实现的最大值。 尽管无法查询此最大值,但它必须不小于反锯齿线的最大值,舍入到最接近的整数值。

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

带参数的 glGet GL_LINE_WIDTH

带参数GL_LINE_WIDTH_RANGE的 glGet

带参数GL_LINE_WIDTH_GRANULARITY的 glGet

glIsEnabled 与参数GL_LINE_SMOOTH

要求

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

Opengl32.lib
DLL
Opengl32.dll

另请参阅

glBegin

glEnable

glEnd

glIsEnabled