我正在尝试更多地了解THREE.js中的高性能几何,并且已经了解索引的BufferGeometry和InstancedBufferGeometry是两种性能最高的几何类型.
到目前为止,我的理解是在索引的BufferGeometry中,在几何中重复使用的顶点仅被添加到几何体中一次,并且给定的重用顶点的每个实例都由它们在顶点数组中的索引位置引用.
我对InstancedBufferGeometry的理解是,这个几何允许人们创建一个对象的"蓝图",将该对象的顶点的一个副本发送到着色器,然后使用自定义属性来修改蓝图的位置,旋转,比例等的每个副本.[ 来源 ]
我想更好地理解:是否存在索引的BufferGeometry比InstancedBufferGeometry更高效的情况.
另外,在InstancedBufferGeometry中,是否有必须考虑的WebGL最大参数(例如每个网格的最大顶点)以避免网格太大?如何计算InstancedBufferGeometry中的顶点?
如果有人可以帮助澄清应该使用索引的BufferGeometry和InstancedBufferGeometry的情况,以及InstancedBufferGeometry的性能上限,我将非常感激.
在 BufferGeometry 中,有没有一种方法可以访问面索引和法线而不转换为几何图形?
手头的几何体是由 Threejs 编辑器创建的 SphereBufferGeometry。
我只需要读取面部索引和法线,而不需要修改它们。
three.js ×2