Original Post
Can anyone tell me how these two functions are different? glBufferSubDataARB(GL_ARRAY_BUFFER, 0, (end - start) * sizeof(vertexarray[0]) * 3, vertexarray); glBufferDataARB(GL_ARRAY_BUFFER, (end - start) * sizeof(vertexarray[0]) * 3, vertexarray, GL_DYNAMIC_DRAW_ARB); .... glBufferData works fine, while BufferSubData doesn't work at all... the *sub* function only displays a small portion of vertex data, and it doesn't even appear to resemble what is there, but I can't figure out how the functions are any different from each other. edit: screenshots here