WebGLRenderingContext: stencilMaskSeparate() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

注意:此功能在 Web Workers 中可用。

WebGLRenderingContext.stencilMaskSeparate() 方法是 WebGL API 的一部分,用于控制启用和禁用模板缓冲(stencil planes)中各个位的写入。

WebGLRenderingContext.stencilMask() 方法可以同时设置正面和背面的模板写入掩码(stencil writemask)为一个值。

语法

js
stencilMaskSeparate(face, mask)

参数

face

一个 GLenum,指定正面和/或背面模板写入掩码是否被更新。可能的值为:

  • gl.FRONT
  • gl.BACK
  • gl.FRONT_AND_BACK
mask

一个 GLuint,指定一个位掩码,用于启用或禁用模板缓冲中各个位的写入。默认情况下,掩码为全 1。

返回值

无(undefined)。

示例

js
gl.stencilMaskSeparate(gl.FRONT, 110101);

要获取当前的模板掩码,请查询 STENCIL_WRITEMASKSTENCIL_BACK_WRITEMASKSTENCIL_BITS 常量。

js
gl.getParameter(gl.STENCIL_WRITEMASK);
// 110101
gl.getParameter(gl.STENCIL_BACK_WRITEMASK);
// 110101
gl.getParameter(gl.STENCIL_BITS);
// 0

规范

规范
WebGL 规范
# 5.14.3

浏览器兼容性

另见