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
.
any gl.getActiveUniforms(program, uniformIndices, pname);
program
WebGLProgram
containing the active uniforms.uniformIndices
Array
of GLuint
specifying the indices of the active uniforms to query.pname
GLenum
specifying which information to query. Possible values: gl.UNIFORM_TYPE
: Returns an Array
of GLenum
indicating the types of the uniforms.gl.UNIFORM_SIZE
: Returns an Array
of GLuint
indicating the sizes of the uniforms.gl.UNIFORM_BLOCK_INDEX
: Returns an Array
of GLint
indicating the block indices of the uniforms.gl.UNIFORM_OFFSET
: Returns an Array
of GLint
indicating the uniform buffer offsets.gl.UNIFORM_ARRAY_STRIDE
: Returns an Array
of GLint
indicating the strides between the elements.gl.UNIFORM_MATRIX_STRIDE
: Returns an Array
of GLint
indicating the strides between columns of a column-major matrix or a row-major matrix.gl.UNIFORM_IS_ROW_MAJOR
: Returns 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.
var uniformIndices = gl.getUniformIndices(program, ['UBORed', 'UBOGreen', 'UBOBlue']); var uniformOffsets = gl.getActiveUniforms(program, uniformIndices, gl.UNIFORM_OFFSET);
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. |
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
Basic support | 56 | No | 51 | No | 43 | No |
Mobile | |||||||
---|---|---|---|---|---|---|---|
Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
Basic support | 58 | 58 | No | 51 | 43 | No | 7.0 |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WebGL2RenderingContext/getActiveUniforms