webgl extension
OES_vertex_array_object extension
The OES_vertex_array_object extension is part of the WebGL API and provides vertex array objects (VAOs) which encapsulate vertex array states. These objects keep pointers to vertex data and provide names for different sets of vertex data.
WebGL extensions are available using the getExtension() method. For more information, see also Using Extensions in the WebGL tutorial.
[!NOTE] This extension is only available to
WebGL1contexts. InWebGL2, the functionality of this extension is available on the WebGL2 context by default and the constants and methods are available without theOES_suffix.
Constants
This extension exposes one new constant, which can be used in the gl.getParameter() method:
ext.VERTEX_ARRAY_BINDING_OES- : Returns a
WebGLVertexArrayObjectobject when used in thegl.getParameter()method as thepnameparameter.
- : Returns a
Instance methods
This extension exposes four new methods.
ext.createVertexArrayOES()- : Creates a new
WebGLVertexArrayObject.
- : Creates a new
ext.deleteVertexArrayOES()- : Deletes a given
WebGLVertexArrayObject.
- : Deletes a given
ext.isVertexArrayOES()- : Returns
trueif a given object is aWebGLVertexArrayObject.
- : Returns
ext.bindVertexArrayOES()- : Binds a given
WebGLVertexArrayObjectto the buffer.
- : Binds a given
Examples
const ext = gl.getExtension("OES_vertex_array_object");
const vao = ext.createVertexArrayOES();
ext.bindVertexArrayOES(vao);
// …
// calls to bindBuffer or vertexAttribPointer
// which will be "recorded" in the VAO
// …
Specifications
SpecificationsStandards references are available on the canonical MDN page.
Browser compatibility
Browser compatibilityCompatibility data is available on the canonical MDN page.
See also
getExtension()vertexAttribPointer()- WebGL2 equivalent methods: