Spec-Zone.ru › Web APIs

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

См. также

  • WebGLRenderingContext.stencilFuncSeparate()
  • WebGLRenderingContext.stencilMask()
  • WebGLRenderingContext.stencilMaskSeparate()
  • WebGLRenderingContext.stencilOp()
  • WebGLRenderingContext.stencilOpSeparate()

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API