glLineWidth
[New
- Windows 95, OEM Service Release 2]
The glLineWidth
function specifies the width of rasterized lines.
void glLineWidth(
GLfloat width |
|
); |
|
Parameters
width
The width of
rasterized lines. The default is 1.0.
Remarks
The glLineWidth
function specifies the rasterized width of both aliased and antialiased lines.
Using a line width other than 1.0 has different effects, depending on whether
line antialiasing is enabled. Line antialiasing is controlled by calling glEnable
If line
antialiasing is disabled, the actual width is determined by rounding the
supplied width to the nearest integer. (If the rounding results in the value 0,
it is as if the line width were 1.) If | D x | | D y |, i pixels are filled in each column that
is rasterized, where i is the rounded value of width. Otherwise, i
pixels are filled in each row that is rasterized.
If
antialiasing is enabled, line rasterization produces a fragment for each pixel
square that intersects the region lying within the rectangle having width equal
to the current line width, length equal to the actual length of the line, and
centered on the mathematical line segment. The coverage value for each fragment
is the window coordinate area of the intersection of the rectangular region
with the corresponding pixel square. This value is saved and used in the final
rasterization step.
Not all
widths can be supported when line antialiasing is enabled. If an unsupported
width is requested, the nearest supported width is used. Only width 1.0 is
guaranteed to be supported; others depend on the implementation. The range of
supported widths and the size difference between supported widths within the
range can be queried by calling glGet with arguments GL_LINE_WIDTH_RANGE
and GL_LINE_WIDTH_GRANULARITY.
The line
width specified by glLineWidth is always returned when GL_LINE_WIDTH is
queried. Clamping and rounding for aliased and antialiased lines have no effect
on the specified value.
Non-antialiased
line width may be clamped to an implementation-dependent maximum. Although this
maximum cannot be queried, it must be no less than the maximum value for
antialiased lines, rounded to the nearest integer value.
The following
functions retrieve information related to glLineWidth:
glGet
with argument GL_LINE_WIDTH
glGet with
argument GL_LINE_WIDTH_RANGE
glGet with
argument GL_LINE_WIDTH_GRANULARITY
glIsEnabled with argument GL_LINE_SMOOTH
Error Codes
The following
are the error codes generated and their conditions.
Error
Code |
Condition |
GL_INVALID_VALUE
|
width was less than or equal to zero. |
GL_INVALID_OPERATION
|
glLineWidth was called between a call to glBegin and the
corresponding call to glEnd. |
See Also