Учитывая, что мы используем OpenGL 4.5 или поддерживаем расширение GL_ARB_direct_state_access
, у нас есть новая функция glCreateBuffers
.
Эта функция имеет идентичную подпись glGenBuffers
, но указывает:
возвращает
n
ранее неиспользуемые имена буферов вbuffers
, каждый из которых представляет новый объект буфера, инициализированный так, как если бы он был связан с неопределенной целью
glGenBuffers
имеет следующую спецификацию:
Имена объектов буфера, возвращенные вызовом
glGenBuffers
, не возвращаются последующими вызовами, если только они не были удалены с помощьюglDeleteBuffers
.
Таким образом, любое имя буфера, возвращаемое glCreateBuffers
, никогда не будет использоваться само по себе, но может использоваться glGenBuffers
.
Кажется, что glCreateBuffers
всегда будет создавать новые объекты буфера и возвращать их имена, а glGenBuffers
будет создавать новые буферы только в том случае, если ранее не было удаленных буферов.
Какое преимущество имеет добавление этой функции?
Когда следует использовать glCreateBuffers
над glGenBuffers
?
P.S.
Я думаю, что это означает все glCreate*
функции, добавленные GL_ARB_direct_state_access