ARRAY_BUFFER
- это внутренняя переменная WebGL (точнее, это идентификатор внутренней переменной WebGL)
Это эффективно работает следующим образом
context = {
ARRAY_BUFFER: 34962, // this is an enum value
arrayBufferBinding: null,
bindBuffer(target, buffer) {
if (target === this.ARRAY_BUFFER) {
this.arrayBufferBinding = buffer;
}
...
},
bufferData(target, data, hint) {
let buffer;
if (target === this.ARRAY_BUFFER) {
buffer = this.arrayBufferBinding;
}
...
setDataOnBuffer(buffer, data, hint);
},
};
Так Вы должны связать буфер. WebGL не устанавливает напрямую состояние большинства объектов WebGL (буферов, текстур, буферов рендеринга, кадровых буферов, массивов вершин). Вы должны связать объект, а затем ссылаться на него в зависимости от того, где вы его связали.
См. это и это