OpenGL Object
OpenGL Objects are defined in terms of the context state that they contain. Objects are almost always created in a two-stage process: the name is created with a generation function, and the object within that name is created with another function.