WebGLRenderingContext:isEnabled() 方法

基线 广泛可用

此功能已得到良好建立,并且可在许多设备和浏览器版本中使用。它自以下时间起在浏览器中可用: 2015 年 7 月.

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

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。

另请参阅