glLineWidth - встановлює ширину растеризованих ліній.
C-специфікація
void glLineWidth (GLfloat width) ;
Параметри
width вказує ширину расетеризованих ліній. Значення за умовчанням являється 1.
Опис
Функція glLineWidth вказує растеризовану ширину для згладжених і звичайних ліній. Використовуючи ширину лінії відмінну від 1 дає відмінний результат, в залежності від того чи увімкнено згладжування ліній. Для увімкнення і вимкнення згладжування ліній, викликайте функції glEnable і glDisable з аргументом GL_LINE_SMOOTH. Згладження ліній за умовччанням вимкнено.
Якщо згладжування ліній вимкнено, фактична ширина визначається заокругленням наданої ширини до найближчого цілого (якщо заокруглення надає значення 0, вважається, що ширина лінії є 1). Якщо Δ x >= Δ y, i-тий піксель заповнюється у кожній колонці яка растеризується, де i являється округленим значенням з width. В іншому випадку, i-тий піксель заповнюється у кожному рядку, який растеризується.
Якщо увімкнено згладжування, растеризація ліній створює фрагменти для кожного квадратного пікселя, який перекриває регіон, що лежить на прямокутній області з шириною рівній поточній ширині лінії, довжиною рівною поточній довжині лінії, і центр якої лежить на сегменті лінії. Значення перекривання для кожного фрагменту являється площею віконних координат перекривання прямокутного регіону відповідним квадратом пікселя. Дане значення зберігається і використовується у фінальному кроку растеризації.
Деякі значення ширини не підтримуються під час увімкненого згладжування ліній. Якщо опитується непідтримувана ширина лінії, використовується найближче значення ширини. Гарантується, що буде підтримуватися одинична ширина лінії; інші залежать від реалізації. Аналогічно, існує проміжок для значень ширини незгладжених ліній. Для запиту проміжку підтримуваних значень ширини і різниці розміру між підтримуваними значеннями ширини з проміжку, викликайте функцію glGet з аргументами GL_ALIASED_LINE_WIDTH_RANGE, GL_SMOOTH_LINE_WIDTH_RANGE і GL_SMOOTH_LINE_WIDTH_GRANULARITY.
Нотатки
Ширина лінії вказана за допомогою функції glLineWidth завжди повертається під час запиту за значенням GL_LINE_WIDTH. Обрізання і округлення для згладжених і не згладжених ліній вносить жодні зміни на вказані значення.
Ширина незгалджених ліній може обрізатися до реалізаційно-залежного максимального значення. Викликайте glGet з аргументом GL_ALIASED_LINE_WIDTH_RANGE для визначення максимальної ширини.
У системі OpenGL версії 1.2, іменовані константи GL_LINE_WIDTH_RANGE і GL_LINE_WIDTH_GRANULARITY були замінені на GL_ALIASED_LINE_WIDTH_RANGE, GL_SMOOTH_LINE_WIDTH_RANGE і GL_SMOOTH_LINE_WIDTH_GRANULARITY. Старі імена залишились для сумісності з попередніми версіями, але не повинні використовуватися у новому коді.
Помилки
GL_INVALID_VALUE генерується якщо параметр width являється меншим або рівним 0.
GL_INVALID_OPERATION генерується якщо функція glLineWidth викликається між відповідними викликами функцій glBegin і glEnd.
Пов'язані параметри
glGet з аргументом GL_LINE_WIDTH
glGet з аргументом GL_ALIASED_LINE_WIDTH_RANGE
glGet з аргументом GL_SMOOTH_LINE_WIDTH_RANGE
glGet з аргументом GL_SMOOTH_LINE_WIDTH_GRANULARITY
glIsEnabled з аргументом GL_LINE_SMOOTH
Переглянте також
glEnable
Оригінал
https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glLineWidth.xml