考虑到我有一个ArrayBuffer,如下面的屏幕截图所示
//recompute object from vertices and normals
const verticesBuffer:ArrayBuffer = e.data.verticesBufferArray;
const normalsBuffer:ArrayBuffer = e.data.normalsBufferArray;
const vertices = new Float32Array(verticesBuffer);
const normals = new Float32Array(normalsBuffer);
但是,此时顶点和法线尚未定义。因此,未定义变量顶点和法线,而verticesBuffer和normalBuffer正常。
在转换时,我得到以下错误
const vertices = new Float32Array(verticesBuffer);
未捕获的RangeError:无效的类型化数组长度:39744
所以问题是如何从verticesBuffer:ArrayBuffer传递到vertices:Float32Array?
谢谢!
答案 0 :(得分:0)
您可以尝试:
const vertices = new Float32Array(verticesBuffer.array);