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