Для этого конкретного примера строго требуется вторая привязка? Нет. OpenGL сохраняет состояние, поэтому, если буферный объект привязан к цели, он будет оставаться связанным до тех пор, пока вы не привяжете что-то еще к этой цели.
Однако, что произойдет, если вы вставите код после создания буфера, который создает второй буфер? В конце концов, вы можете иметь два объекта. Или 10. Или сколько хочешь; им не нужно совместно использовать буферные объекты.
Как только вы это сделаете, ваш код сломается, потому что буфер, который ваш код ожидает, что будет связан, на самом деле не связан. Поэтому, если вы не умеете управлять состоянием и действительно знаете, что делаете (и если вы все еще следуете учебным пособиям, ответ «нет»), вы должны установить любое состояние, необходимое для выполнения ваших намерений.
Поэтому, если вы собираетесь рисовать из определенного буфера, вы должны связать его и установить соответствующее состояние (вызовы gl*Pointer
).