我有一个Blob对象(通过二进制websocket接收),我想使用gl.BufferData()
上传到GPU。只是将Blob对象传递给gl.BufferData()
会产生错误
WebGL: INVALID_VALUE: bufferData: size == 0
Blob的大小不是0.我做错了什么?
答案 0 :(得分:0)
我自己找到了答案,诀窍是使用FileReader对象:
var reader = new FileReader();
reader.onload = function(e) {
gl.bufferData(gl.ARRAY_BUFFER, reader.result, gl.DYNAMIC_DRAW);
}
reader.readAsArrayBuffer(data);