Javascript gl.getBufferSubData不使用ArrayBuffer

Javascript gl.getBufferSubData不使用ArrayBuffer,javascript,webgl2,Javascript,Webgl2,我试图使用gl.getBufferSubData从缓冲区读取数据,我遵循 但我得到了这个错误(在Firefox和Chrome上): ArrayBuffer不是ArrayBufferView,您需要向此方法传递一个TypedArray,例如Float32Array。来自MDN的示例需要修订…我找不到任何关于此的文档/工作示例,我还收到以下警告WebGL警告:getBufferSubData:使用非*\u READ的用法从缓冲区读取会导致管道暂停。通过流读取缓冲区进行复制。是的,整个示例完全错误。我

我试图使用gl.getBufferSubData从缓冲区读取数据,我遵循

但我得到了这个错误(在Firefox和Chrome上):


ArrayBuffer不是ArrayBufferView,您需要向此方法传递一个TypedArray,例如Float32Array。来自MDN的示例需要修订…我找不到任何关于此的文档/工作示例,我还收到以下警告
WebGL警告:getBufferSubData:使用非*\u READ的用法从缓冲区读取会导致管道暂停。通过流读取缓冲区进行复制。
是的,整个示例完全错误。我自己不是webgl2方面的专家,所以我无法重写该示例,但我会提出一个问题。
let position_buffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, position_buffer);
let positions = [
    -1.0, 1.0, 0.0,
    1.0, 1.0, 0.0,
    -1.0, -1.0, 0.0,
    1.0, -1.0, 0.0,
    1.0, 1.0, 0.0,
    -1.0, -1.0, 0.0
];
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(positions), gl.STATIC_DRAW);

let arrBuffer = new ArrayBuffer(positions.length * Float32Array.BYTES_PER_ELEMENT);
gl.getBufferSubData(gl.ARRAY_BUFFER, 0, arrBuffer);
Uncaught TypeError: WebGL2RenderingContext.getBufferSubData: Argument 3 does not implement interface ArrayBufferView.