WebGLRenderingContext: getVertexAttrib() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

注意:此功能在 Web Workers 中可用。

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

瀏覽器相容性

另見