VBO / VAO

In a nutshell, what’s the difference between a vertex buffer object and a vertex array object? If I understand correctly (or this is where you come in), a VBO contains a single array of data (though it can be interleaved with different things, like normals, uv, etc.). A VAO is an aggregation of multiple VBO? So if you wanted to render a mesh, typically, you’d have multiple VBO for vertices, indices, texture coordinates, normals, and any other generic vertex attributes, respectively, and you can bind all of these simultaneously by binding a given VAO that references all of its VBOs?

Kip

Here’s a great description from http://www.songho.ca/opengl/gl_vbo.html.

Hope that helped!

The Wiki answers this. Vertex Array Objects. Buffer Objects.

Hey Alfonse. VertexAttribute == VertexAttributeState ? in the C struct analogy?

Kip

Hey Alfonse. VertexAttribute == VertexAttributeState ? in the C struct analogy?

Yeah, sorry. That was a copy&paste error.

No problem. Thanks for fixing that. Wasn’t absolutely certain.

Kip