Feeding VBO with data
Is there any difference if I specify vertex/color data through
glVertexPointer/glColorPoi开发者_StackOverflow中文版nter
- Using
glMapBufferOES
(extension) glBufferData/glBufferSubData
Can I assume that all methods may equally transfer data into same place and then I can safely enable vertex/color array states using glEnableClientState
?
gl{Vertex,Color,Normal,TexCoord}Pointer
don't transfer data at all. They set the data base pointer in either client (absolute pointer in process address space) or server (offset into buffer object) space, which is the base address for all drawing access into the vertex attribute arrays.
Those were the pears. No come the cherries:
glMapBuffer
creates a memory mapping of a buffer object into client address space, where one can write/read data from/to. glBuffer[Sub]Data
copies data from client to server; in the net effect the same could be done by mapping with glMapBuffer
, writing there and unmapping with glUnmapBuffer
You can't compare pears with cherries. (cherries, because apples are too closely related to pears, but *Pointer are so different in their function from glMapBuffer and glBufferData that I had to emphase this).
精彩评论