WebGLRenderingContext.isEnabled()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

WebGLRenderingContext.isEnabled()WebGL API 方法之一,用来检测给定的 WebGL 功能项在当前上下文是否可用。

默认的,除了 gl.DITHER,所有的功能项都是未启用的。

语法

js
isEnabled(cap)

参数

cap

GLenum 指定待检测的 WebGL 功能项。可能的值有:

Constant Description
gl.BLEND Blending of the computed fragment color values. See WebGLRenderingContext.blendFunc().
gl.CULL_FACE Culling of polygons. See WebGLRenderingContext.cullFace().
gl.DEPTH_TEST Depth comparisons and updates to the depth buffer. See WebGLRenderingContext.depthFunc().
gl.DITHER Dithering of color components before they get written to the color buffer.
gl.POLYGON_OFFSET_FILL Adding an offset to depth values of polygon's fragments. See WebGLRenderingContext.polygonOffset().
gl.SAMPLE_ALPHA_TO_COVERAGE Computation of a temporary coverage value determined by the alpha value.
gl.SAMPLE_COVERAGE ANDing the fragment's coverage with the temporary coverage value. See WebGLRenderingContext.sampleCoverage().
gl.SCISSOR_TEST Scissor test that discards fragments that are outside of the scissor rectangle. See WebGLRenderingContext.scissor().
gl.STENCIL_TEST Stencil testing and updates to the stencil buffer. See WebGLRenderingContext.stencilFunc().

当使用 WebGL 2 context 的时候,下列附加的值也是可选用的。

Constant Description
gl.RASTERIZER_DISCARD Primitives are discarded immediately before the rasterization stage, but after the optional transform feedback stage. gl.clear() commands are ignored.

返回值

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);

规范

Specification
WebGL Specification
# 5.14.3
WebGL 2.0 Specification
# 3.7.2

浏览器兼容性

BCD tables only load in the browser

参见