OES_vertex_array_object 擴充套件

Baseline 已廣泛支援

此功能已成熟,可跨多種裝置和瀏覽器版本工作。它自 ⁨2018 年 4 月⁩ 起已在所有瀏覽器中可用。

OES_vertex_array_object 擴充套件是 WebGL API 的一部分,它提供了頂點陣列物件(VAO),這些物件封裝了頂點陣列狀態。這些物件保留了指向頂點資料的指標,併為不同的頂點資料集合提供了名稱。

可以使用 WebGLRenderingContext.getExtension() 方法來訪問 WebGL 擴充套件。有關更多資訊,請參閱 WebGL 教程中的 使用擴充套件

注意:此擴充套件僅適用於 WebGL1 上下文。在 WebGL2 中,此擴充套件的功能預設在 WebGL2 上下文中可用,並且常量和方法在沒有 OES_ 字首的情況下即可使用。

常量

此擴充套件公開了一個新常量,可用於 gl.getParameter() 方法。

ext.VERTEX_ARRAY_BINDING_OES

pname 引數在 gl.getParameter() 方法中使用時,返回一個 WebGLVertexArrayObject 物件。

例項方法

此擴充套件公開了四個新方法。

ext.createVertexArrayOES()

建立一個新的 WebGLVertexArrayObject

ext.deleteVertexArrayOES()

刪除給定的 WebGLVertexArrayObject

ext.isVertexArrayOES()

如果給定的物件是 WebGLVertexArrayObject,則返回 true

ext.bindVertexArrayOES()

將給定的 WebGLVertexArrayObject 繫結到緩衝區。

示例

js
const oes_vao_ext = gl.getExtension("OES_vertex_array_object");
const vao = oes_vao_ext.createVertexArrayOES();
oes_vao_ext.bindVertexArrayOES(vao);

// …
// calls to bindBuffer or vertexAttribPointer
// which will be "recorded" in the VAO
// …

規範

規範
WebGL OES_vertex_array_object Khronos 批准擴充套件規範

瀏覽器相容性

另見