Поделиться через


Функция glLineWidth

Функция glLineWidth задает ширину растровых линий.

Синтаксис

void WINAPI glLineWidth(
   GLfloat width
);

Параметры

width

Ширина растрированных линий. Значение по умолчанию — 1.0.

Возвращаемое значение

Эта функция не возвращает значение.

Коды ошибок

Следующие коды ошибок могут быть получены функцией glGetError .

Имя Значение
GL_INVALID_VALUE
ширина была меньше или равна нулю.
GL_INVALID_OPERATION
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd.

Комментарии

Функция glLineWidth задает ширину растровых линий с псевдонимами и сглаживанием. Использование ширины линии, отличной от 1,0, имеет различные эффекты в зависимости от того, включено ли сглаживание строк. Сглаживание строк управляется путем вызова glEnable и glDisable с аргументом GL_LINE_SMOOTH.

Если сглаживание строк отключено, фактическая ширина определяется округлением указанной ширины до ближайшего целого числа. (Если округление приводит к значению 0,0, это так, как если бы ширина строки была 1,0) Если | ? x | = | ? y |, пиксели i заполняются в каждом растровом столбце, где i — округленное значение ширины. В противном случае i-пиксели заполняются в каждой строке, которая растеризуется.

Если включено сглаживание, растеризация линий создает фрагмент для каждого квадрата пикселя, который пересекается с областью, лежащей в прямоугольнике, имеет ширину, равную текущей ширине линии, длину, равную фактической длине линии, и центрируется по математическому сегменту линии. Значение покрытия для каждого фрагмента — это область координат окна пересечения прямоугольной области с соответствующим пиксельным квадратом. Это значение сохраняется и используется на последнем шаге растеризации.

Если включено сглаживание строк, поддерживаются не все ширины. Если запрашивается неподдерживаемая ширина, используется ближайшая поддерживаемая ширина. Гарантируется поддержка только ширины 1,0; другие зависят от реализации. Диапазон поддерживаемых ширин и разницу между поддерживаемыми ширинами в этом диапазоне можно запросить, вызвав glGet с аргументами GL_LINE_WIDTH_RANGE и GL_LINE_WIDTH_GRANULARITY.

Ширина строки, указанная в glLineWidth , всегда возвращается при запросе GL_LINE_WIDTH. Зажим и округление для линий с псевдонимами и сглаживания не влияют на указанное значение.

Неудалеживаемая ширина линии может быть зажата до максимального значения, зависящей от реализации. Хотя это максимальное значение не может быть запрошено, оно должно быть не меньше максимального значения для строк с сглаживание, округленное до ближайшего целочисленного значения.

Следующие функции извлекают сведения, связанные с glLineWidth:

glGet с GL_LINE_WIDTH аргументов

glGet с аргументом GL_LINE_WIDTH_RANGE

glGet с аргументом GL_LINE_WIDTH_GRANULARITY

glIsEnabled с аргументом GL_LINE_SMOOTH

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Gl.h
Библиотека
Opengl32.lib
DLL
Opengl32.dll

См. также раздел

glBegin

glEnable

glEnd

glIsEnabled