Using vertex arrays without buffer objects in GL 3.1+
- "OpenGL 3.1 and above no longer allow the use of vertex arrays without buffer objects."
Is this right ? I am currently using a 3.2 forward compatible context and vertex arrays inside without problems... I am using the last NVIDIA drivers for Linux (195.17)
EDIT: Ok, checked the spec, this must be a driver bug, as the spec says:
- "An INVALID_OPERATION error is generated if any of the *Pointer commands specifying the location and organization of vertex array data are called while zero is bound to the ARRAY_BUFFER buffer object binding point (see section 2.9.6), and the pointer argument is not NULL."
Unbinding mapped buffers
- "While a buffer is mapped, you cannot do anything to it. Do not call any OpenGL function that would cause OpenGL to write to or read from that buffer. Doing so can have unfortunate consequences. Most important of all, do not unbind the buffer while it is mapped. It's OK to do these things before you map the buffer, but not while it is mapped."
I'm not sure that's totally accurate, as it implies that only one buffer can be mapped at a time. The final example given in the vertex_buffer_object spec  demonstrates that multiple buffers can be mapped through a bind/map/bind/map sequence of calls, effectively unbinding the first buffer while leaving it mapped. If unbinding a mapped buffer was unsafe, the spec wouldn't have such an example. --JThoenen 03:51, 29 September 2009 (UTC)
- Fixed. Alfonse 22:48, 29 September 2009 (UTC)