Clone of http://www.songho.ca/opengl/gl_pbo.html