OES_vertex_array_object WebGL working group (public_webgl 'at' khronos.org) Members of the WebGL working group 5 [NoInterfaceObject] interface WebGLVertexArrayObjectOES : WebGLObject { }; [NoInterfaceObject] interface OES_vertex_array_object { const GLenum VERTEX_ARRAY_BINDING_OES = 0x85B5; WebGLVertexArrayObjectOES? createVertexArrayOES(); void deleteVertexArrayOES(WebGLVertexArrayObjectOES? arrayObject); [WebGLHandlesContextLoss] GLboolean isVertexArrayOES(WebGLVertexArrayObjectOES? arrayObject); void bindVertexArrayOES(WebGLVertexArrayObjectOES? arrayObject); }; Returns false if the vertex array object's invalidated flag is set.

The OES_vertex_array_object spec does not make it clear what happens to buffers that are deleted when they are referenced by vertex array objects. It is inferred that all buffers are reference counted.

Before OES_vertex_array_object there was no way to use a deleted buffer in a single context as the spec states it would be unbound from all bind points. After OES_vertex_array_object it is now possible to use deleted buffers.

Furthermore, the OpenGL ES 2.0 spec specifies that using a deleted buffer has undefined results including possibly corrupt rendering and generating GL errors. Undefined behavior is unacceptable for WebGL.

Initial revision. Demotion to draft. Added vendor-specific name strings for draft extension per discussion on WebGL mailing list. Renamed "Name Strings" section to "Alias Name Strings". Sorted Revision History in ascending order. Removed webgl module per changes to Web IDL spec. Added resolution to deleted buffer issue Based on feedback on public_webgl, moved from draft to community approved, and removed aliases. Made WebGLVertexArrayObjectOES return values and arguments nullable on feedback from Benoit Jacob. Based on pull request from J Kenneth King, added WebGLHandlesContextLoss extended attribute to isVertexArrayOES and added markup for new functions. Ratified by Khronos Board of Promoters. Added NoInterfaceObject extended attribute to extension and WebGLVertexArrayObjectOES interface.