Creates a vertex specification.
Returns the size of the Vertex; this size can be computer after you added all your attributes
Adds padding space to the vertex specification. This is useful for alignment. TODO: clarify
Adds a generic attribute to the vertex specification.
Adds a generic attribute to the vertex specification.
Adds an non-generic attribute to the vertex specification.
Locates all the generic attributes who were given a name
Unuse this vertex specification.
Use this vertex specification. Re-loads all the attribute locations before actually using it
Use this vertex specification. You should only call this function after a call on locateAttributes() or use(GLProgram).
This property allows the user to set/unset the used IBO. You can't select another IBO while this VertexSpecification is being used.
This property allows the user to set/unset the used VBO. You can't select another VBO while this VertexSpecification is being used.
A VertexSpecification makes it easy to use Vertex Buffer Object with interleaved attributes. It's role is similar to the OpenGL VAO one. If the user requests it, the VertexSpecification can "take control" of a given VBO and/or IBO and automatically bind/unbind them when the VertexSpecification is used/unused. You have to specify every attribute manually for now.
TODO: Extract vertex specification from a struct at compile-time.