gl{Vertex,Color,Normal,TexCoord}Pointer
не передавать данные вообще.Они устанавливают указатель базы данных либо в клиентском (абсолютный указатель в адресном пространстве процесса), либо в серверном (смещение в буферный объект) пространстве, который является базовым адресом для всего доступа к рисованию в массивах атрибутов вершин.
Это былигрушиНе надо вишен:
glMapBuffer
создает отображение памяти буферного объекта в адресное пространство клиента, где можно записывать / читать данные из / в.glBuffer[Sub]Data
копирует данные с клиента на сервер;в чистом эффекте то же самое может быть сделано путем сопоставления с glMapBuffer
, записи туда и отмены сопоставления с glUnmapBuffer
Вы не можете сравнивать груши с вишней.(вишни, потому что яблоки слишком тесно связаны с грушами, но * Pointer настолько отличаются по своей функции от glMapBuffer и glBufferData, что мне пришлось подчеркнуть это).