Opengl 3/4: Могу ли я привязать один и тот же буферный объект к разным целям
В моем конкретном случае я пытаюсь связать объект буфера вершин с единым буферным объектом.
Для получения более подробной информации, в моем конвейере рендеринга непрозрачных объектов с отложенным затенением я создаю буфер G, затем визуализирую объемы света по одному точечному свету за раз, используя light vbo.
Затем мне нужны все эти источники света в виде ubo, доступного для повторения прямого рендеринга полупрозрачных объектов.
1 ответ
Объекты текстуры напрямую и навсегда связаны с целевым типом, с которым они используются впервые. Это не относится к буферным объектам.
Не существует таких вещей, как "объект буфера вершины" или "объект унифицированного буфера" (игнорируйте имена соответствующих расширений). Есть только "буферные объекты", которые можно использовать для различных операций OpenGL, таких как предоставление массивов данных вершин, или хранилище для унифицированных блоков, или любого количества других вещей. На 100% нормально использовать буфер в качестве источника данных вершин, а затем использовать тот же буфер (и ту же часть этого буфера) в качестве источника для однородных данных.