set hint GL_STREAM_READ it's wrong, but so we are guaranteed to get pinned memory. it's slower for rendering, but faster for mapping.