WebGLRenderingContext: isEnabled() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

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

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

瀏覽器相容性

另見