Hello again true believers.
I have possibly a very simple question. When I generate vertices for a heightmap, for example, then copy the vertices to the video memory using glBufferData() I usually delete the copy of the original vertex data afterwards, e.g
//psuedo code! generate vertex data copy to video memory using glBufferData delete  vertex data
However, if I wanted to access specific locations in the video memory buffer to access a vertex on the host/cpu side, is this possible? Or will I need to keep the vertex data around in host memory on the cpu side? Of course this brings up questions regarding performance - there will be a long delay reading from video memory or is this around the same delay as a normal cpu cache miss anyway?
This question extends to accessing normal data, texture coord data or anything else you feel fit to store on the video memory.