Three.js - 用于大网格的BinaryLoader与BufferGeometry?

时间:2013-05-28 17:55:33

标签: three.js webgl mesh buffer-geometry

我正在寻找一种最有效的方法来将大型多边形网格(最多1M个三角形)加载到Three.js。我正在考虑使用THREE.BufferGeometry对象或使用THREE.BinaryLoader加载。我的问题是:

  • BinaryLoader.js下面会创建一个THREE.BufferGeometry对象吗?或者它是否创造了同样有效的东西?
  • 如果没有,是否有人建议使用哪一个?

其他一些信息:

  • 我的模型在服务器上采用专有格式,因此无论如何我都需要转换/编码它们。
  • 我没有找到创建THREE.BufferGeometry的Three.js加载程序。看起来我需要自己编写。但我可以准备服务器端的数据以与THREE.BufferGeometry结构对齐。
  • BinaryLoader.js提供了加载数据所需的所有基础设施,但需要在服务器端以特殊方式准备数据。

1 个答案:

答案 0 :(得分:2)

看一下gl.Fs格式和gl.W.Ts的glTFLoader。它使用BufferGeometry。 表现要好得多;然而,它有自己的动画实现(没有使用THREE.Animation),我遇到了一些Three.js相关的问题,如克隆模型不起作用(至少在盒)

glTF:https://github.com/KhronosGroup/glTF

glTFLoader:https://github.com/mrdoob/three.js/blob/54a1e789c3a84557d6b05782f5cbd9f1064f5e4f/examples/js/loaders/GLTFLoader.js