WebGLRenderingContext: метод stencilFunc()
Базовая линия Широко поддерживается
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Примечание: Эта функция доступна в Потоках Web Workers.
Метод WebGLRenderingContext.stencilFunc() API WebGL устанавливает функцию и значение ссылки для тестирования штампа для передней и задней граней.
Штампы позволяют включать и выключать отрисовку на основе каждого пикселя. Обычно используется при многопроходной отрисовке для создания специальных эффектов.
Синтаксис
stencilFunc(func, ref, mask)
Параметры
func-
Значение
GLenum, определяющее функцию проверки. По умолчанию функцияgl.ALWAYS. Возможные значения:-
gl.NEVER: Никогда не проходит. -
gl.LESS: Проходит, если(ref & mask) < (stencil & mask). -
gl.EQUAL: Проходит, если(ref & mask) = (stencil & mask). -
gl.LEQUAL: Проходит, если(ref & mask) <= (stencil & mask). -
gl.GREATER: Проходит, если(ref & mask) > (stencil & mask). -
gl.NOTEQUAL: Проходит, если(ref & mask) !== (stencil & mask). -
gl.GEQUAL: Проходит, если(ref & mask) >= (stencil & mask). -
gl.ALWAYS: Всегда проходит.
-
ref-
Значение
GLint, определяющее значение ссылки для проверки штампа. Это значение ограничено диапазоном от 0 до 2n - 1, где n — количество битовых плоскостей в буфере штампов. Значение по умолчанию — 0. mask-
Значение
GLuint, определяющее побитовую маску, которая используется для побитового И (AND) значения ссылки и сохранённого значения штампа во время проверки. Значение по умолчанию — все 1.
Возвращаемое значение
None (undefined).
Примеры
Тестирование штампов по умолчанию отключено. Чтобы включить или выключить тестирование штампов, используйте методы enable() и disable() с аргументом gl.STENCIL_TEST.
gl.enable(gl.STENCIL_TEST); gl.stencilFunc(gl.LESS, 0, 0b1110011);
Чтобы получить текущую функцию штампа, значение ссылки или другую информацию о штампе, запросите следующие константы с помощью getParameter().
gl.getParameter(gl.STENCIL_FUNC); gl.getParameter(gl.STENCIL_VALUE_MASK); gl.getParameter(gl.STENCIL_REF); gl.getParameter(gl.STENCIL_BACK_FUNC); gl.getParameter(gl.STENCIL_BACK_VALUE_MASK); gl.getParameter(gl.STENCIL_BACK_REF); gl.getParameter(gl.STENCIL_BITS);
Спецификации
| Спецификация |
|---|
| Спецификация WebGL # 5.14.3 |
Совместимость с браузерами
| Рабочие столы | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
stencilFunc |
9 | 12 | 4 | 12 | 5.1 | 25 | 4 | 12 | 8 | 1.5 | 4.4.3 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/stencilFunc