WebGLRenderingContext:enable() 方法

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.

WebGL APIWebGLRenderingContext.enable() 方法用于为上下文启用特定的 WebGL 的功能。

语法

js
enable(cap)

参数

cap

一个指定要启用的 WebGL 的功能的 GLenum。可能的值有:

常量 描述
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 激活片段掩模与临时掩模的与运算。参见 WebGLRenderingContext.sampleCoverage()
gl.SCISSOR_TEST 激活剪裁测试,即丢弃在剪裁矩形范围外的片段。参见 WebGLRenderingContext.scissor()
gl.STENCIL_TEST 激活模板测试并更新模板缓冲区。参见 WebGLRenderingContext.stencilFunc()

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

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

返回值

无(undefined)。

示例

js
gl.enable(gl.DITHER);

要检测功能是否启用,请使用 WebGLRenderingContext.isEnabled() 方法:

js
gl.isEnabled(gl.DITHER);
// true

规范

Specification
WebGL Specification
# 5.14.3

浏览器兼容性

BCD tables only load in the browser

参见