WebGL2RenderingContext: getActiveUniformBlockParameter() 方法

Baseline 已廣泛支援

此功能已成熟,並可在多種裝置和瀏覽器版本上執行。自 2021 年 9 月起,所有瀏覽器均已支援此功能。

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

WebGL2RenderingContext.getActiveUniformBlockParameter() 方法是 WebGL 2 API 的一部分,用於檢索 WebGLProgram 中活動 uniform 塊的資訊。

語法

js
getActiveUniformBlockParameter(program, uniformBlockIndex, pname)

引數

program

包含活動 uniform 塊的 WebGLProgram

uniformBlockIndex

一個 GLuint,指定 uniform 塊在程式中的索引。

pname

一個 GLenum,指定要查詢的資訊。可能的值:

gl.UNIFORM_BLOCK_BINDING

返回一個 GLuint,指示 uniform 緩衝區繫結點。

gl.UNIFORM_BLOCK_DATA_SIZE

返回一個 GLuint,指示最小的總緩衝區物件大小。

gl.UNIFORM_BLOCK_ACTIVE_UNIFORMS

返回一個 GLuint,指示 uniform 塊中活動 uniform 的數量。

gl.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES

返回一個 Uint32Array,指示 uniform 塊中活動 uniform 的列表。

gl.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER

返回一個 GLboolean,指示 uniform 塊是否被頂點著色器引用。

gl.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER

返回一個 GLboolean,指示 uniform 塊是否被片段著色器引用。

返回值

取決於透過 pname 引數請求的資訊。如果發生錯誤,則返回 null

示例

js
const blockSize = gl.getActiveUniformBlockParameter(
  program,
  blockIndex,
  gl.UNIFORM_BLOCK_DATA_SIZE,
);

規範

規範
WebGL 2.0 規範
# 3.7.16

瀏覽器相容性

另見