My question is about OpenGL and i'm using version 3.2 to 4.1 core profile.
I have been reading about VAO and i must admit i'm a bit confused. Looking at the spec it is clear that all vertex attribute states are "stored" in the VAO : glVertexAttribPointer, glEnableVertexAttribArray, etc which is ok.
According to the spec,GL_ELEMENT_ARRAY_BUFFER binding is a VAO state but not GL_ARRAY_BUFFER binding. Does that mean binding a VAO will bind the index buffer but not the vertex buffer ? So in order to render the content of a VBO, i would need to bind the VAO and the VBO right ? If this is true i find it odd. Shouldn't it be the other way around ? I often have many index buffers for a single VBO.
I know there is plenty of posts on the net about this subject, but they almost all endup more confusing then anything because half of the people say one thing and the rest says the other.