WebGLRenderingContext:isEnabled() 方法
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 的浏览器中加载。