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.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
getActiveUniforms | Chrome Full support 56 | Edge Full support 79 | Firefox Full support 51 | IE No support No | Opera Full support 43 | Safari No support No | WebView Android Full support 58 | Chrome Android Full support 58 | Firefox Android Full support 51 | Opera Android Full support 43 | Safari iOS No support No | Samsung Internet Android Full support 7.0 |
Legend
- Full support
- Full support
- No support
- No support