WebGLRenderingContext.getVertexAttrib()

The WebGLRenderingContext.getVertexAttrib() method of the WebGL API returns information about a vertex attribute at a given position.

Syntax

any gl.getVertexAttrib(index, pname);

Parameters

index
A GLuint specifying the index of the vertex attribute.
pname
A GLenum specifying the information to query. Possible values:
  • gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: Returns the currently bound WebGLBuffer.
  • gl.VERTEX_ATTRIB_ARRAY_ENABLED: Returns a GLboolean that is true if the vertex attribute is enabled at this index. Otherwise false.
  • gl.VERTEX_ATTRIB_ARRAY_SIZE: Returns a GLint indicating the size of an element of the vertex array.
  • gl.VERTEX_ATTRIB_ARRAY_STRIDE: Returns a GLint indicating the number of bytes between successive elements in the array. 0 means that the elements are sequential.
  • gl.VERTEX_ATTRIB_ARRAY_TYPE: Returns a GLenum representing the array type. One of
    • gl.BYTE,
    • gl.UNSIGNED_BYTE,
    • gl.SHORT,
    • gl.UNSIGNED_SHORT,
    • gl.FIXED,
    • gl.FLOAT.
  • gl.VERTEX_ATTRIB_ARRAY_NORMALIZED: Returns a GLboolean that is true if fixed-point data types are normalized for the vertex attribute array at the given index.
  • gl.CURRENT_VERTEX_ATTRIB: Returns a Float32Array (with 4 elements) representing the current value of the vertex attribute at the given index.
  • When using a WebGL 2 context, the following values are available additionally:
    • gl.VERTEX_ATTRIB_ARRAY_INTEGER: Returns a GLboolean indicating whether or not an integer data type is in the vertex attribute array at the given index.
    • gl.VERTEX_ATTRIB_ARRAY_DIVISOR: Returns a GLint describing the frequency divisor used for instanced rendering.
  • When using the ANGLE_instanced_arrays extension:
    • ext.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: Returns a GLint describing the frequency divisor used for instanced rendering.

Return value

Returns the requested vertex attribute information (as specified with pname).

Examples

gl.getVertexAttrib(0, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING);

Specifications

Specification Status Comment
WebGL 1.0
The definition of 'getVertexAttrib' in that specification.
Recommendation Initial definition for WebGL.
OpenGL ES 2.0
The definition of 'glGetVertexAttrib' in that specification.
Standard Man page of the OpenGL ES 2 API.
WebGL 2.0
The definition of 'getVertexAttrib' in that specification.
Editor's Draft Updated definition for WebGL 2.
OpenGL ES 3.0
The definition of 'glGetVertexAttrib' in that specification.
Standard Man page of the OpenGL ES 3 API.

Browser compatibility

Feature Chrome Edge Firefox Internet Explorer Opera Safari Servo
Basic Support9124.011125.1No support
WebGL2No support1No support51.0No supportNo supportNo supportNo support
Feature Android Chrome for Android Edge Mobile Firefox for Android IE Mobile Opera Mobile Safari Mobile
Basic Support(Yes)25(Yes)4.011128.1
WebGL2No supportNo support(Yes)51.0No supportNo supportNo support

1. To use an experimental implementation of WebGL 2 in Chrome, you have to start Chrome with the runtime flag --enable-unsafe-es3-apis.

See also

Document Tags and Contributors

 Contributors to this page: teoli, fscholz
 Last updated by: teoli,