When I use glGenBuffers to create a VBO with a pointer to it, I (think) am allocating memory. Subsequent calls to glGenBuffers should return different pointes, but what about the memory previously allocated? In the Nehe examples I didn't see a "free memory" call... and I read that openGL is kind of a "state machine", does this mean that if my initializeBuffers() function is called several times I don't need to free anything and just use the glGenBuffers "as it is" ?