Three.js - 大型网格使用BinaryLoader还是BufferGeometry?

5
我正在寻找一种最有效的方法来加载大型多边形网格(高达1M个三角形)到Three.js中。我正在考虑使用THREE.BufferGeometry对象或使用THREE.BinaryLoader进行加载。我的问题是:
  • BinaryLoader.js是否在底层创建了一个THREE.BufferGeometry对象?还是它创建了类似的高效对象?
  • 如果没有,有人推荐使用哪一个吗?
一些额外的信息:
  • 我的模型在服务器上以专有格式存储,所以我需要进行转换/编码。
  • 我还没有找到一个能够创建THREE.BufferGeometry的Three.js loader。看起来我需要自己编写代码。但我可以在服务器端准备好与THREE.BufferGeometry结构对齐的数据。
  • BinaryLoader.js提供了加载数据所需的所有基础设施,但需要在服务器端以特定的方式准备数据。

3
当参数useBuffers: true被指定时,CTMLoader会创建BufferGeometry。 - gaitat
@gaitat - 谢谢!这给了我们另一个选择。OpenCTM还在继续开发吗?我已经超过15个月没有看到更新了。另一个选择可能是webgl-loader,虽然我不确定Three.js的支持是否仍然是最新的。希望我有时间来比较所有这些替代方案... - Simon
我认为OpenCTM已经完成了它应该做的事情,所以不需要更新。webgl-loader也在three.js中的UTF8Loader()内实现,并支持具有相同参数的BufferGeometry。此外,OpenCTM还支持WebWorkers。 - gaitat
@gaitat - 再次感谢!我会尝试两种方法并发布结果。 - Simon
@gaitat - 我很乐意帮忙,只是不确定如何给评论投票。也许你可以将其编辑为答案,然后我会接受它(如果我可以的话)。 - Simon
显示剩余4条评论
1个回答

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接