Does ANGLE support vertex array objects? And if not, then why? And when will it be added?
If it's not any time soon, then is there some way (a work-around) I can do to use vertex array objects with ANGLE on Windows?
Angle includes the following in angleproject/include/GLES2/glext.h:
/* GL_OES_vertex_array_object */
#ifndef GL_OES_vertex_array_object
#define GL_OES_vertex_array_object 1
#ifdef GL_GLEXT_PROTOTYPES
GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
#endif
So in my project, I did this:
#define GL_GLEXT_PROTOTYPES
#include <GLES2/gl2.h>
#include <GLES2/gl2platform.h>
#include <GLES2/gl2ext.h>
This enables my project to build using glBindVertexArrayOES() etc, but it fails when on link due to unresolved external symbol. Using dependency walker, I can see that "angleproject\lib\Release\libGLESv2.dll" does not contain glBindVertexArrayOES() etc.
This page ( https://code.google.com/p/angleproject/wiki/ExtensionSupport ) does not list GL_OES_vertex_array_object, so I'm beginning to think ANGLE does not support vertex array objects yet.
I'm surprised to see this post ( http://blog.tojicode.com/2012/10/oesvertexarrayobject-extension.html ) from an alleged Google employee saying on 2012/10/02 (that's 3 years ago!) that he added GL_OES_vertex_array_object to Chrome WebGL, but not to ANGLE. Then a comment 2014/06/23 (1 year 3 months ago) says "its already there".