Spec-Zone.ru › Web APIs

WebGLRenderingContext: метод stencilOp()

Базовая Широко поддерживается

Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Примечание: Эта функция доступна в Потоках Web Workers.

Метод WebGLRenderingContext.stencilOp() API WebGL устанавливает действия проверки по грани для передней и задней сторон.

Синтаксис

stencilOp(fail, zfail, zpass)

Параметры

fail

GLenum, определяющий функцию, используемую при неудачном тесте стентирования. Значение по умолчанию — gl.KEEP.

zfail

GLenum, определяющий функцию, используемую при успешном тесте стентирования, но неудачном тесте глубины. Значение по умолчанию — gl.KEEP.

zpass

GLenum, определяющий функцию, используемую при успешном прохождении и теста стентирования, и теста глубины, или при успешном тесте стентирования и отсутствии буфера глубины или отключении проверки глубины. Значение по умолчанию — gl.KEEP.

Возвращаемое значение

Ничего (undefined).

Константы

gl.KEEP

Сохраняет текущее значение.

gl.ZERO

Устанавливает значение буфера стентирования в 0.

gl.REPLACE

Устанавливает значение буфера стентирования на значение ссылки, заданное в WebGLRenderingContext.stencilFunc().

gl.INCR

Увеличивает текущее значение буфера стентирования. Обрезается до максимального представимого беззнакового значения.

gl.INCR_WRAP

Увеличивает текущее значение буфера стентирования. Значение буфера стентирования обнуляется при увеличении до максимального представимого беззнакового значения.

gl.DECR

Уменьшает текущее значение буфера стентирования. Обрезается до 0.

gl.DECR_WRAP

Уменьшает текущее значение буфера стентирования. Значение буфера стентирования обнуляется при уменьшении до 0.

gl.INVERT

Инвертирует текущее значение буфера стентирования поразрядно.

Примеры

Проверка стентирования по умолчанию отключена. Чтобы включить или отключить проверку стентирования, используйте методы enable() и disable() с аргументом gl.STENCIL_TEST.

gl.enable(gl.STENCIL_TEST);
gl.stencilOp(gl.INCR, gl.DECR, gl.INVERT);

Чтобы получить текущую информацию о прохождении или не прохождении тестов стентирования и глубины, запросите следующие константы с помощью getParameter().

gl.getParameter(gl.STENCIL_FAIL);
gl.getParameter(gl.STENCIL_PASS_DEPTH_PASS);
gl.getParameter(gl.STENCIL_PASS_DEPTH_FAIL);
gl.getParameter(gl.STENCIL_BACK_FAIL);
gl.getParameter(gl.STENCIL_BACK_PASS_DEPTH_PASS);
gl.getParameter(gl.STENCIL_BACK_PASS_DEPTH_FAIL);
gl.getParameter(gl.STENCIL_BITS);

Спецификации

Спецификация
Спецификация WebGL
# 5.14.3

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
stencilOp 9 12 4 12 5.1 25 4 12 8 1.5 4.4.3

См. также

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

© 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/stencilOp

Spec-Zone.ru

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