WebGL2RenderingContext: getActiveUniforms() 方法

Baseline 已廣泛支援

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

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

WebGL2RenderingContext.getActiveUniforms() 方法屬於 WebGL 2 API,用於檢索 WebGLProgram 中活動 uniform 的資訊。

語法

js
getActiveUniforms(program, uniformIndices, pname)

引數

program

包含活動 uniform 的 WebGLProgram

uniformIndices

一個 Array,包含要查詢的活動 uniform 索引的 GLuint

pname

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

gl.UNIFORM_TYPE

返回一個 Array,包含指示 uniform 型別的 GLenum

gl.UNIFORM_SIZE

返回一個 Array,包含指示 uniform 大小的 GLuint

gl.UNIFORM_BLOCK_INDEX

返回一個 Array,包含指示 uniform 塊索引的 GLint

gl.UNIFORM_OFFSET

返回一個 Array,包含指示 uniform 緩衝區偏移量的 GLint

gl.UNIFORM_ARRAY_STRIDE

返回一個 Array,包含指示元素之間步長的 GLint

gl.UNIFORM_MATRIX_STRIDE

返回一個 Array,包含指示列主矩陣或行主矩陣列之間步長的 GLint

gl.UNIFORM_IS_ROW_MAJOR

返回一個 Array,包含指示每個 uniform 是否為行主矩陣的 GLboolean

返回值

取決於使用 pname 引數請求哪些資訊。

示例

js
const uniformIndices = gl.getUniformIndices(program, [
  "UBORed",
  "UBOGreen",
  "UBOBlue",
]);
const uniformOffsets = gl.getActiveUniforms(
  program,
  uniformIndices,
  gl.UNIFORM_OFFSET,
);

規範

規範
WebGL 2.0 規範
# 3.7.16

瀏覽器相容性

另見