Wil*_*ilt 9 javascript geometry three.js buffer-geometry
据我所知,使用缓冲区几何可以提高性能并减少内存使用量,因为它可以降低将所有这些数据传递给GPU的成本.
正如我从@WestLangley所了解的那样:
THREE.BufferGeometry正在逐步取代,THREE.Geometry因为它在计算上更有效率.
我目前正在使用three.js - r72.
当我画我的几何形状使网格,并将它们添加到我看到有我的geomtries内两个属性的场景__directGeometry和_bufferGeometry.
在这里THREE.BoxGeometry:
在这里THREE.Geometry:
在这里THREE.ShapeGeometry:
我的问题:
THREE.DirectGeometry它是什么,它做什么?(我似乎无法找到任何关于此的文件)THREE.BufferGeometry存储_bufferGeometry已经自动使用了吗?如果没有,我可以简单地使用它而不是几何来提高性能吗?THREE.BufferGeometryhas toGeometry和THREE.Geometryhas toBufferGeometry.如果我使用这种方法将所有常规几何转换为缓冲几何,与THREE.BufferGeometry从一开始绘制它们相比,它会给我相同的性能提升吗?THREE.BufferGeometry?THREE.Geometry赞成THREE.BufferGeometry?注意:我找不到有关何时以及如何使用缓冲区几何形状或何时更换的详细信息THREE.Geometry.但如果某人有良好的来源或参考,请发表评论.
__directGeometry是用于在THREE.Geometry和之间转换的内部数据结构THREE.BufferGeometry.不要乱用它.THREE.BufferGeometry.toGeometry()并且THREE.Geometry.toBufferGeometry()是方便的方法.第一个是有用的,如果你的模型加载BufferGeometry,你觉得操作更舒适Geometry.如果您需要有关性能的答案,则需要进行测试.缓冲几何肯定加载更快.BufferGeometry.如果你理解"索引"和"非索引"之间的区别,那将是明智的BufferGeometry.BufferGeometry使用index定义的属性允许共享顶点.非索引BufferGeometry是我们所说的"三角汤".THREE.Geometry 将在可预见的未来继续存在.three.js r.73