Is there any difference if I specify vertex/color data through
glVertexPointer/glColorPointer- 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}Pointerdon’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:
glMapBuffercreates a memory mapping of a buffer object into client address space, where one can write/read data from/to.glBuffer[Sub]Datacopies data from client to server; in the net effect the same could be done by mapping withglMapBuffer, writing there and unmapping withglUnmapBufferYou 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).