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