GL_INVALID_OPERATION from glVertexAttribPointer with no VAO bound in Core Profile
Context OpenGL Core Profile requires a Vertex Array Object to be bound before any vertex attribute state can be modified. The specification states that calling glVertexAttribPointer or related attribute functions while the default VAO (name 0) is bound generates GL_INVALID_OPERATION . This behavior differs from Compatibility Profile, where the default VAO is