Я изучаю OpenGL из этот учебник. Мой вопрос касается спецификации в целом, а не конкретной функции или темы. При просмотре кода, как показано ниже:
glGenBuffers(1, &positionBufferObject);
glBindBuffer(GL_ARRAY_BUFFER, positionBufferObject);
glBufferData(GL_ARRAY_BUFFER, sizeof(vertexPositions), vertexPositions, GL_STATIC_DRAW);
glBindBuffer(GL_ARRAY_BUFFER, 0);
Я запутался в полезности вызова функций связывания до и после установки данных буфера. Мне кажется излишним, из-за моей неопытности с OpenGL и компьютерной графикой вообще.
В справочной странице указано, что:
glBindBuffer позволяет создавать или использовать именованный объект буфера. Вызов glBindBuffer с настройкой цели GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER или GL_PIXEL_UNPACK_BUFFER и буфер, установленный на имя нового объекта буфера привязывает имя объекта буфера к цели. Когда буферный объект привязан к target, предыдущее связывание для этой цели автоматически прерывается.
Что такое понятие/полезность "привязки" чего-то к "цели"?