What are Vertex Array Objects?

“Vertex Array Object” is brought to you by the OpenGL ARB Subcommittee for Silly Names. Think of it as a geometry object. (As an old time SGI Performer programmer, I call them geosets.) The instance variables/members of the object are your vertex pointer, normal pointer, color pointer, attrib N pointer, … When a VAO is … Read more

VBOs with std::vector

If you have a std::vector<T> v, you may obtain a T* pointing to the start of the contiguous data (which is what OpenGL is after) with the expression &v[0]. In your case, this means passing a Vertex* to glBufferData: glBufferData( GL_ARRAY_BUFFER, vertices.size() * sizeof(Vertex), &vertices[0], GL_STATIC_DRAW ); Or like this, which is the same: glBufferData( … Read more