WebGLRenderingContext: isEnabled() 方法

Baseline 已广泛支持

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

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

WebGLRenderingContext.isEnabled() 方法是 WebGL API 的一部分,用于测试此上下文是否启用了特定的 WebGL 功能。

默认情况下,除 gl.DITHER 外,所有功能都处于禁用状态。

语法

js
isEnabled(cap)

参数

cap

一个 GLenum,指定要测试的 WebGL 功能。可能的值

常量 描述
gl.BLEND 计算出的片段颜色值的混合。请参阅 WebGLRenderingContext.blendFunc()
gl.CULL_FACE 剔除多边形。请参阅 WebGLRenderingContext.cullFace()
gl.DEPTH_TEST 深度比较和对深度缓冲区的更新。请参阅 WebGLRenderingContext.depthFunc()
gl.DITHER 在将颜色分量写入颜色缓冲区之前对其进行抖动处理。
gl.POLYGON_OFFSET_FILL 为多边形片段的深度值添加偏移量。请参阅 WebGLRenderingContext.polygonOffset()
gl.SAMPLE_ALPHA_TO_COVERAGE 根据 alpha 值计算临时覆盖值。
gl.SAMPLE_COVERAGE 将片段的覆盖值与临时覆盖值进行 AND 运算。请参阅 WebGLRenderingContext.sampleCoverage()
gl.SCISSOR_TEST 剪刀测试,丢弃位于剪刀矩形之外的片段。请参阅 WebGLRenderingContext.scissor()
gl.STENCIL_TEST 模板测试和对模板缓冲区的更新。请参阅 WebGLRenderingContext.stencilFunc()

使用 WebGL 2 上下文时,还可以使用以下值:

常量 描述
gl.RASTERIZER_DISCARD 图元在光栅化阶段之前立即被丢弃,但在可选的变换反馈阶段之后。gl.clear() 命令将被忽略。

返回值

一个 GLboolean,指示功能 cap 是否已启用(true),或未启用(false)。

示例

js
gl.isEnabled(gl.STENCIL_TEST);
// false

要激活或禁用特定功能,请使用 WebGLRenderingContext.enable()WebGLRenderingContext.disable() 方法。

js
gl.enable(gl.STENCIL_TEST);
gl.disable(gl.STENCIL_TEST);

规范

规范
WebGL 规范
# 5.14.3
WebGL 2.0 规范
# 3.7.2

浏览器兼容性

另见