假设我有一个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);
但是此时顶点和法向量都未定义。因此,变量 vertices 和 normals 都未定义,而 verticesBuffer 和 normalBuffer 是可以的。
转换时,我遇到以下错误。
const vertices = new Float32Array(verticesBuffer);
未捕获的范围错误:无效的类型化数组长度:39744
所以问题是如何从verticesBuffer:ArrayBuffer转换为vertices:Float32Array?
谢谢!
e.data.verticesBufferArray
和e.data.normalsBufferArray
如何被设置为某个值? - Pointynew
表达式从来不会产生undefined
。我们需要一个 [mcve] 来重现这种行为。 - Bergi