WebGLRenderingContext: disable() 方法

Baseline 已广泛支持

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

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

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

语法

js
disable(capability)

参数

功能

一个 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.disable(gl.DITHER);

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

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

规范

规范
WebGL 规范
# 5.14.3

浏览器兼容性

另见