据我理解,Geometry 存储顶点和面的 JavaScript 对象结构,而 BufferGeometry 则通过 Float32Array 等直接存储原始的 gl 数据。
是否有办法将标准的 Geometry 转换为更加紧凑、对象更少的 BufferGeometry?例如,如果我创建了一个新的 SphereGeometry,是否有一种简便的方法将其转换为 BufferGeometry?
据我理解,Geometry 存储顶点和面的 JavaScript 对象结构,而 BufferGeometry 则通过 Float32Array 等直接存储原始的 gl 数据。
是否有办法将标准的 Geometry 转换为更加紧凑、对象更少的 BufferGeometry?例如,如果我创建了一个新的 SphereGeometry,是否有一种简便的方法将其转换为 BufferGeometry?
本回答仅适用于 r.125 之前的 three.js 版本。
传统的 Geometry
类已被移除。
var bufferGeometry = new THREE.BufferGeometry().fromGeometry( geometry );
three.js r.124
fromGeometry()
不再是BufferGeometry
的一个方法。 - undefinedfromGeometry()
不再是BufferGeometry
的一个方法。 - alexis_thual