glAlphaFunc - встановлює функцію перевірки прозорості.

C-специфікація

void glAlphaFunc (GLenum func,
                  GLclampf ref) ;

 

Параметри

func вказує функцію перевірки прозорості. Приймаються наступні іменовані константи: GL_NEVER, GL_LESS, GL_EQUAL, GL_LEQUAL, GL_GREATER, GL_NOTEQUAL, GL_GEQUAL і GL_ALWAYS. Значення за умовчанням являєтся GL_ALWAYS.

ref вказує відносне значення, до якого порівнюються усі значення компоненту прозорості. Дане значення обрізається до проміжку 0-1, де значення 0 представляє найнижче можливе значення компоненту прозорості і 1 відповідає найбільшому можливому значенню. Значення за умовчанням являється 0.

Опис

Перевірка компоненту прозорості відкидає фрагменти в залежності від результату перевірки між вхідними значеннями компоненту прозорості фрагменту до вказаного значення. Функція glAlphaFunc вказує дане значення і функцію порівняння. Порівняння відбувається тільки якщо увімкнений функціонал перевірки компоненту прозорості. За умовчанням вона вимкнена (перегляньте glEnable і glDisable для значення GL_ALPHA_TEST).

Параметри func і ref вказують умови за яких піксель буде малюватися. Вхідне значення компоненту прозорості порівнюється до значення в параметрі ref використовуючи функцію вказану у параметрі func. Якщо значення проходить тестування, вхідний фрагмент малюється якщо він також проходить наступні тести для трафарету і буферу глибини. Якщо значення не проходить перевірку, відбуваються жодні зміни до буферу кадру у даній піксельній позиції. Функції порівняння являються наступними:

  • GL_NEVER проходить жодне значення.
  • GL_LESS проходить якщо вхідне значення компоненту прозорості являється меншим ніж відносне значення.
  • GL_EQUAL прозодить якщо вхідне значення компоненту прозорості являється рівним до відносного значення.
  • GL_LEQUAL проходить якщо вхідне значення компоненту прозорості являється меншим або рівним до відносного значення.
  • GL_GREATER проходить якщо вхідне значення компоненту рпозорості являється більшим ніж відносне значення.
  • GL_NOTEQUAL проходить якщо вхідне значення компоненту прозорості не являється рівним до відносного значення.
  • GL_GEQUAL проходить якщо вхідне значення компоненту прозорості являється більшим або рівним до відносного значення.
  • GL_ALWAYS тест завжди підтверджується (значення за умовчанням).

Функція glAlphaFunc оперує на усіх операціях запису пікселів, включаючи ці, які надходять з перетворень точок, ліній, багатокутників і бітових карт, і з операцій малювання і копіювання пікселів. Функція glAlphaFunc не виконує зміни до операцій очищення екрану.

Нотатки

Перевірка компоненту прозорості виконується тільки у режимі RGBA візуальної бібліотеки.

Помилки

GL_INVALID_ENUM генерується якщо func не містить допустимого значення.

GL_INVALID_OPERATION генерується якщо функція glAlphaFunc виконується між відповідними викликами функцій glBegin і glEnd.

Пов'язані параметри

glGet з аргументом GL_ALPHA_TEST_FUNC

glGet з аргументом GL_ALPHA_TEST_REF

glIsEnabled з аргументом GL_ALPHA_TEST

Перегляньте також

glBlendFunc, glClear, glDepthFunc, glEnable, glStencilFunc

Оригінал

https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glAlphaFunc.xml