我正在寻找正确使用对象的指导,Three.js
这将允许我从流中读取大量数据并渲染它,而无需在整个应用程序生命周期中将数据存储在内存中。
据我了解,WebGL
这可以通过 来完成gl_drawArray
,但是哪个Three.js
对象代表了这种行为?
使用ParticleSystem
对象时,数据被放入内存中,因为我需要将所有点放入Geometry
节点中,然后再将其传递给ParticleSystem
,所以我认为这不合适。
感谢您提供的任何帮助。
编辑:
为了澄清,我需要阅读几百万x,y,z
个条目并将每个条目显示为空间中的一个点。我目前使用的过程是(简而言之):
var geometry = new THREE.Geometry();
while( hasMoreData ){
var vertex = new THREE.Vector3(x,y,z);
geometry.vertices.push( vertex );
}
sphere = new THREE.ParticleSystem( geometry, shaderMaterial );
scene.add(sphere);
使用这个过程,我的内存消耗增加了大约 1GB,因为数据在构建几何对象时持续存在。无论如何从文件中读取这些数据而不使其持久存在内存中?