Для начала в OpenGL есть 8 типов объектов буфера:
- GL_ARRAY_BUFFER
- GL_ELEMENT_ARRAY_BUFFER
- GL_COPY_READ_BUFFER
- ...
Это перечисления, точнее, GLenum. Где GLenum - это 32-битное целое число без знака, которое, так сказать, имеет значения до ~ 4,743,222,432.
В большинстве случаев использование буферных объектов связано с их привязкой к определенной цели, например:
glBindBuffer (GL_ARRAY_BUFFER, Буферы [размер]);
[void glBindBuffer (GLenum target, GLuint buffer)] документация
Мой вопрос в том, что если это перечисление, его единственное значение должно быть 0,1,2,3,4..7 соответственно, так зачем идти до конца и делать его 32-битным целым числом, если оно имеет только значения до 7? Простите за мои знания CS и OpenGL, это кажется неэтичным.