WebGLRenderingContext:getVertexAttrib() 方法

基线 广泛可用

此功能已经非常成熟,并且可以在许多设备和浏览器版本上运行。它已在浏览器中可用,自 2015 年 7 月.

WebGLRenderingContext.getVertexAttrib() 方法是 WebGL API 的一部分,它返回有关给定位置的顶点属性的信息。

语法

js
getVertexAttrib(index, pname)

参数

index

一个 GLuint,指定顶点属性的索引。

pname

一个 GLenum,指定要查询的信息。可能的取值:

gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING

返回当前绑定的 WebGLBuffer

gl.VERTEX_ATTRIB_ARRAY_ENABLED

返回一个 GLboolean,如果在此 index 处启用了顶点属性,则为 true,否则为 false

gl.VERTEX_ATTRIB_ARRAY_SIZE

返回一个 GLint,表示顶点数组元素的大小。

gl.VERTEX_ATTRIB_ARRAY_STRIDE

返回一个 GLint,表示数组中连续元素之间的字节数。0 表示元素是连续的。

gl.VERTEX_ATTRIB_ARRAY_TYPE

返回一个 GLenum,表示数组类型。其中之一:

  • gl.BYTE
  • gl.UNSIGNED_BYTE
  • gl.SHORT,
  • gl.UNSIGNED_SHORT
  • gl.FLOAT
gl.VERTEX_ATTRIB_ARRAY_NORMALIZED

返回一个 GLboolean,如果在给定 index 处的顶点属性数组对定点数据类型进行了规范化,则为 true。

gl.CURRENT_VERTEX_ATTRIB

返回一个 Float32Array(包含 4 个元素),表示给定 index 处顶点属性的当前值。

当使用 WebGL 2 上下文 时,以下值也可以使用:

gl.VERTEX_ATTRIB_ARRAY_INTEGER

返回一个 GLboolean,指示在给定 index 处的顶点属性数组中是否使用了整数数据类型。

gl.VERTEX_ATTRIB_ARRAY_DIVISOR

返回一个 GLint,描述用于实例化渲染的频率除数。

当使用 ANGLE_instanced_arrays 扩展时:

ext.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE

返回一个 GLint,描述用于实例化渲染的频率除数。

返回值

返回请求的顶点属性信息(如使用 pname 指定的)。

示例

js
gl.getVertexAttrib(0, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING);

规范

规范
WebGL 规范
# 5.14.10
WebGL 2.0 规范
# 3.7.8

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。

另请参阅