在示例Interactive Raycasting Points中,有4种不同的函数来生成点云:
1. generatePointcloud (with buffer geometry)
2. generateIndexedPointcloud (buffer geometry with indices)
3. generateIndexedWithOffsetPointcloud (buffer geometry with added drawcall)
4. generateRegularPointcloud (with normal geometry)
有人可以解释这4种类型之间的差异,以及是否有任何性能优势/某些情况,其中一种比其他类型更适合?
谢谢!
答案 0 :(得分:2)
示例Interactive Raycasting Points的目的是证明针对THREE.Points
的光线投射适用于各种几何类型。
所谓的"常规几何",THREE.Geometry
是内存效率最低的几何类型,通常加载时间比THREE.BufferGeometry
长。
BufferGeometry
可以"索引"或"非索引"。索引BufferGeometry
与网格一起使用时,允许重复使用顶点;也就是说,共享边的面可以共享一个顶点。然而,在点云的情况下,我没有看到"索引"类型。
BufferGeometry
- 现在称为组 - 仅允许渲染几何体的子集,并且还允许将不同的材质索引与每个组相关联。
当绘制调用,a.k.a。群组被调用"偏移"时,函数generateIndexedWithOffsetPointcloud
似乎已被命名。
我不相信三个荣誉团体中的光线投射。我相信它会对整个几何体进行光线投射。实际上,在您引用的示例中,我不确定组是否正常工作。
three.js r.73