coderef

OES_vertex_array_object WebGL extensionBaseline · Widely available

The OES_vertex_array_object extension for WebGL 1.0 contexts adds vertex array objects (VAOs) which encapsulate vertex array states. These objects keep pointers to vertex data and names for different sets of vertex data.

Supported in all major browsers for at least 30 months — safe to use without fallbacks. Baseline since Apr 30, 2018. Widely available since Oct 30, 2020.

Browser support

DesktopChrome
1–23Not supported
24+Supportedsince Jan 10, 2013
Current: 155
Edge
12–16Not supported
17+Supportedsince Apr 30, 2018
Current: 154
Firefox
1–24Not supported
25+Supportedsince Oct 29, 2013
Current: 157
Safari
1–7Not supported
8+Supportedsince Oct 16, 2014
Current: 27
MobileChrome Android
18–18Not supported
25+Supportedsince Feb 27, 2013
Current: 155
Firefox Android
4–24Not supported
25+Supportedsince Oct 29, 2013
Current: 157
Safari iOS
1–8Not supported
9+Supportedsince Sep 16, 2015
Current: 27

How to use

This feature is Baseline widely available — use it freely, no fallback needed.

Example

Full syntax and examples are on MDN: OES vertex array object.

Feature detection

JS · check before using
if ("OES_vertex_array_object" in globalThis) {
  // OES_vertex_array_object is available
} else {
  // load a polyfill or use a fallback
}

Sub-features

Support for each part of the feature (6). The overall table above shows when the whole feature works.

Sub-featureChromeEdgeFirefoxSafariChrome AndroidFirefox AndroidSafari iOS
OES_vertex_array_object241725825258
OES_vertex_array_object.bindVertexArrayOES241725825258
OES_vertex_array_object.createVertexArrayOES241725825258
OES_vertex_array_object.deleteVertexArrayOES241725825258
OES_vertex_array_object.isVertexArrayOES241725825258
WebGLVertexArrayObjectOES2417255.125259