Note: This feature is available in Web Workers.
The WebGL2RenderingContext.getActiveUniforms() method of the WebGL 2 API retrieves information about active uniforms within a WebGLProgram.
getActiveUniforms(program, uniformIndices, pname)programA WebGLProgram containing the active uniforms.
uniformIndicesAn Array of GLuint specifying the indices of the active uniforms to query.
pnameA GLenum specifying which information to query. Possible values:
gl.UNIFORM_TYPEReturns an Array of GLenum indicating the types of the uniforms.
gl.UNIFORM_SIZEReturns an Array of GLuint indicating the sizes of the uniforms.
gl.UNIFORM_BLOCK_INDEXReturns an Array of GLint indicating the block indices of the uniforms.
gl.UNIFORM_OFFSETReturns an Array of GLint indicating the uniform buffer offsets.
gl.UNIFORM_ARRAY_STRIDEReturns an Array of GLint indicating the strides between the elements.
gl.UNIFORM_MATRIX_STRIDEReturns an Array of GLint indicating the strides between columns of a column-major matrix or a row-major matrix.
gl.UNIFORM_IS_ROW_MAJORReturns an Array of GLboolean indicating whether each of the uniforms is a row-major matrix or not.
Depends on which information is requested using the pname parameter.
const uniformIndices = gl.getUniformIndices(program, [
"UBORed",
"UBOGreen",
"UBOBlue",
]);
const uniformOffsets = gl.getActiveUniforms(
program,
uniformIndices,
gl.UNIFORM_OFFSET,
);