Функция glStencilFunc
Функция glStencilFunc задает значение функции и ссылочного значения для тестирования наборов элементов.
Синтаксис
void WINAPI glStencilFunc(
GLenum func,
GLint ref,
GLuint mask
);
Параметры
-
func
-
Тестовая функция. Следующие восемь маркеров допустимы.
Значение Значение - GL_NEVER
Всегда завершается ошибкой. - GL_LESS
Передается, если (ссылка и маска) < (набор элементов и маска). - GL_LEQUAL
Передает значение if (ref & mask) = (набор элементов и маска). - GL_GREATER
Передается, если (ссылка и маска) > (набор элементов и маска). - GL_GEQUAL
Передает значение if (ref & mask) = (набор элементов и маска). - GL_EQUAL
Передает значение if (ref & mask) = (набор элементов и маска). - GL_NOTEQUAL
Передается, если (ссылка и маска) ? (набор элементов и маска). - GL_ALWAYS
Всегда проходит. -
ref;
-
Значение ссылки для теста наборов элементов. Параметр ref заклинается к диапазону [0, 2n 1], где n — количество битовых плоскостей в буфере наборов элементов.
-
mask
-
Маска, которая имеет значение ссылки и хранимое значение набора элементов при выполнении теста.
Возвращаемое значение
Эта функция не возвращает значение.
Коды ошибок
Следующие коды ошибок можно получить функцией glGetError .
Имя. | Значение |
---|---|
|
func не был одним из восьми принятых значений. |
|
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd. |
Замечания
Набор элементов, таких как z-буферизация, включает и отключает рисование на основе пикселей. Вы рисуете в плоскости набора элементов с помощью примитивов рисования OpenGL, а затем отрисовываете геометрию и изображения с помощью плоскостей элементов для маскирования частей экрана. Набор элементов обычно используется в алгоритмах многопассной отрисовки для достижения специальных эффектов, таких как декалы, выстраивание и конструктивная геометрическая отрисовка.
Тест набора элементов условно устраняет пиксель на основе результата сравнения между ссылочным значением и значением в буфере наборов элементов. Тест включен с помощью glEnable и glDisable с аргументом GL_STENCIL_TEST. Действия, выполняемые на основе результата теста набора элементов, указываются с помощью glStencilOp.
Параметр func является символьной константой, которая определяет функцию сравнения элементов. Он принимает одно из восьми значений, показанных выше. Параметр ref является целочисленным ссылочным значением, которое используется в сравнении наборов элементов. Он зажат в диапазоне [0, 2n 1], где n — количество битовых плоскостей в буфере наборов элементов. Параметр маски побитово Иимеет значение ссылки и хранимое значение набора элементов, при этом значения AND ed, участвующие в сравнении.
Если набор представляет значение, хранящееся в соответствующем расположении буфера наборов элементов, предыдущий список показывает эффект каждой функции сравнения, которую можно указать с помощью func. Только если сравнение выполнено успешно, пиксель передается на следующий этап процесса растеризации (см. glStencilOp). Все тесты обрабатывают значения наборов как неподписанные целые числа в диапазоне [0, 2n 1], где n — количество битовых плоскостей в буфере набора элементов.
Изначально тест набора элементов отключен. Если буфер набора элементов отсутствует, изменение набора элементов не может произойти, и это так, как будто тест наборов всегда проходит.
Следующие функции извлекают сведения, связанные с glStencilFunc:
glGet с аргументом GL_STENCIL_FUNC
glGet с аргументом GL_STENCIL_VALUE_MASK
glGet с аргументом GL_STENCIL_REF
glGet с аргументом GL_STENCIL_BITS
glIsEnabled с аргументом GL_STENCIL_TEST
Requirements
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Верхний колонтитул |
|
Библиотека |
|
DLL-библиотеки |
|