Пример кода:
1. glGenBuffers(1, &VboId);
2. glBindBuffer(GL_ARRAY_BUFFER, VboId);
3. glBufferData(GL_ARRAY_BUFFER, sizeof(Vertices), Vertices, GL_STATIC_DRAW);
4. glVertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, 0, 0);
Итак, мы создаем универсальный дескриптор VBO, а затем связываем его с помощью "GL_ARRAY_BUFFER". Связывание, по-видимому, имеет 2 цели:
glBufferData
glVertexAttribPointer
И я думаю, что это единственные 2 раза, когда вам нужно связать VBO. Мой вопрос заключается в том, есть ли какой-либо сценарий, в котором цель (GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER или GL_PIXEL_UNPACK_BUFFER) будет отличаться в строках 2 и 3? Или мы хотели бы перепривязать его к другой цели перед строкой 4?
Можем ли мы привязать несколько целевых объектов буфера к одному VBO?