我们的志愿者还没有将这篇文章翻译为 中文 (简体)。加入我们帮助完成翻译!
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 boundWebGLBuffer
.gl.VERTEX_ATTRIB_ARRAY_ENABLED
: Returns aGLboolean
that istrue
if the vertex attribute is enabled at thisindex
. Otherwisefalse
.gl.VERTEX_ATTRIB_ARRAY_SIZE
: Returns aGLint
indicating the size of an element of the vertex array.gl.VERTEX_ATTRIB_ARRAY_STRIDE
: Returns aGLint
indicating the number of bytes between successive elements in the array. 0 means that the elements are sequential.gl.VERTEX_ATTRIB_ARRAY_TYPE
: Returns aGLenum
representing the array type. One ofgl.BYTE
,gl.UNSIGNED_BYTE
,gl.SHORT
,gl.UNSIGNED_SHORT
,gl.FIXED
,gl.FLOAT
.
gl.VERTEX_ATTRIB_ARRAY_NORMALIZED
: Returns aGLboolean
that is true if fixed-point data types are normalized for the vertex attribute array at the givenindex
.gl.CURRENT_VERTEX_ATTRIB
: Returns aFloat32Array
(with 4 elements) representing the current value of the vertex attribute at the givenindex
.- When using a WebGL 2 context, the following values are available additionally:
- When using the
ANGLE_instanced_arrays
extension:ext.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE
: Returns aGLint
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 (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 9 | 12 | 4.0 (2.0) | 11 | 12 | 5.1 |
WebGL 2 | No support [2] | No support | Nightly build [1] | No support | No support | No support |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | ? | 25 | 4.0 (2.0) | 1.0 | ? | 12 | 8.0 |
WebGL 2 | No support | No support | No support | No support | No support | No support | No support |
[1] WebGL 2 is enabled by default in Firefox Nightly. To enable it in a release version of Firefox, set the preference webgl.enable-prototype-webgl2
to true
in about:config.
[2] To use an experimental implementation of WebGL 2 in Chrome, you have to start Chrome with the runtime flag --enable-unsafe-es3-apis
.