WebGLRenderingContext: enable() 方法

Baseline 已广泛支持

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

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

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

语法

js
enable(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() 命令将被忽略。

返回值

无(undefined)。

示例

js
gl.enable(gl.DITHER);

要检查某个功能是否已启用,请使用 WebGLRenderingContext.isEnabled() 方法。

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

规范

规范
WebGL 规范
# 5.14.3

浏览器兼容性

另见