随着三维激光扫描技术的发展,目前可以采集到海量的点云数据。
点云数据中本身仅仅包含多个点数据,对于较小规模的点云数据,只需要依次使用面或者点等方式将其全部渲染出来。但是面对较大数据量的点云,就需要考虑许多随之而来的问题:
1)内存限制:以基于 V8 引擎为例,32 位机器可使用内存约为 0.7 GB,64 位机器可使用内存约为 1.4 GB。而渲染完整的 1 Billion 无 RGB 信息的点云数据就需要超过 22 GB 的内存进行存储(对于 JavaScript 仅有 double 数据,其计算为每个点需要 XYZ 三个点,即存储每个点需要 3 × 8 个 Byte 的内存,1 Billion 点云约为 22.35 GB)。因此,必须将点云数据进行分割,从而按需渲染以减少内存使用量;
2)实时渲染需求:对于点云渲染的应用场景,往往并不仅仅只需要输出渲染后的可视化结果,而是需要满足基于点云渲染后的具体应用需求,例如游戏或者标注工具等。这对