This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The WebGL2RenderingContext.getActiveUniforms()
method of the WebGL 2 API retrieves information about active uniforms within a WebGLProgram
.
Syntax
any gl.getActiveUniforms(program, uniformIndices, pname);
Parameters
program
- A
WebGLProgram
containing the active uniforms. uniformIndices
- An
Array
ofGLuint
specifying the indices of the active uniforms to query. pname
- A
GLenum
specifying which information to query. Possible values:gl.UNIFORM_TYPE
: Returns anArray
ofGLenum
indicating the types of the uniforms.gl.UNIFORM_SIZE
: Returns anArray
ofGLuint
indicating the sizes of the uniforms.gl.UNIFORM_BLOCK_INDEX
: Returns anArray
ofGLint
indicating the block indices of the uniforms.gl.UNIFORM_OFFSET
: Returns anArray
ofGLint
indicating the uniform buffer offsets.gl.UNIFORM_ARRAY_STRIDE
: Returns anArray
ofGLint
indicating the strides between the elements.gl.UNIFORM_MATRIX_STRIDE
: Returns anArray
ofGLint
indicating the strides between columns of a column-major matrix or a row-major matrix.gl.UNIFORM_IS_ROW_MAJOR
: Returns anArray
ofGLboolean
indicating whether each of the uniforms is a row-major matrix or not.
Return value
Depends on which information is requested using the pname
parameter.
Examples
var uniformIndices = gl.getUniformIndices(program, ['UBORed', 'UBOGreen', 'UBOBlue']); var uniformOffsets = gl.getActiveUniforms(program, uniformIndices, gl.UNIFORM_OFFSET);
Specifications
Specification | Status | Comment |
---|---|---|
WebGL 2.0 The definition of 'getActiveUniforms' in that specification. |
Editor's Draft | Initial definition for WebGL. |
OpenGL ES 3.0 The definition of 'glGetActiveUniformsiv' in that specification. |
Standard | Man page of the (similar) OpenGL API. |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 56 | No | 51 | No | 43 | No |
Feature | Android webview | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic support | 58 | 58 | No | 51 | No | 43 | No |