我正在尝试学习关于THREE.js中高效几何体的知识,并且了解到索引BufferGeometry和InstancedBufferGeometry是两种最高效的几何类型。
到目前为止,我的理解是,在索引BufferGeometry中,重复使用的顶点只会被添加一次,并且每个给定重复顶点的实例都通过其在顶点数组中的索引位置进行引用。
我对InstancedBufferGeometry的理解是,该几何体允许创建一个对象的“蓝图”,将该对象的一个副本发送到着色器,然后使用自定义属性修改蓝图的每个副本的位置、旋转、缩放等。[source]
我想更好地了解:是否存在某些情况下,索引BufferGeometry比InstancedBufferGeometry更高效。
此外,在InstancedBufferGeometry中,是否有WebGL的最大参数(例如每个网格的最大顶点数)必须考虑,以避免使网格过大? InstancedBufferGeometry中的顶点如何计算?
如果有人能够帮助澄清何时应使用索引BufferGeometry和实例化BufferGeometry,以及实例化BufferGeometry的性能上限,我将非常感激。
到目前为止,我的理解是,在索引BufferGeometry中,重复使用的顶点只会被添加一次,并且每个给定重复顶点的实例都通过其在顶点数组中的索引位置进行引用。
我对InstancedBufferGeometry的理解是,该几何体允许创建一个对象的“蓝图”,将该对象的一个副本发送到着色器,然后使用自定义属性修改蓝图的每个副本的位置、旋转、缩放等。[source]
我想更好地了解:是否存在某些情况下,索引BufferGeometry比InstancedBufferGeometry更高效。
此外,在InstancedBufferGeometry中,是否有WebGL的最大参数(例如每个网格的最大顶点数)必须考虑,以避免使网格过大? InstancedBufferGeometry中的顶点如何计算?
如果有人能够帮助澄清何时应使用索引BufferGeometry和实例化BufferGeometry,以及实例化BufferGeometry的性能上限,我将非常感激。
new THREE.InstancedBufferGeometry();
是一个有效的构造函数,至少在v92中是这样的... - duhaimeTHREE.IndexedBufferGeometry()
构造函数。 - duhaime