在threejs中渲染大型STL文件

时间:2018-06-07 00:11:15

标签: three.js

我有这个具有> 300万个顶点的stl模型,并且必须在屏幕上渲染它。现在,使用Threejs STL加载程序加载模型会导致浏览器崩溃。根据一些研究,我正在考虑做以下一些事情:

  1. 将STL文件流式传输到客户端,让STL加载器以1mb块的形式加载模型

  2. 每次加载一个块时,我都可以创建一个缓冲区几何体并从中构造一个网格。我可以为每个块执行此操作并将所有网格添加到场景中。因此,场景中会有多个网格,但看起来就像是原始模型。

  3. 我非常清楚如何做第2步,但第一部分可能吗?如上所述,一个three.js STL加载程序可以加载块中的STL(假设它以块的形式传递给客户端)吗?

1 个答案:

答案 0 :(得分:1)

Three.js STL加载程序不会为您执行此操作(它将始终加载整个文件然后解析)。

您必须自己以块的形式加载和解析文件。这是一种非常简单的文件格式(https://en.wikipedia.org/wiki/STL_(file_format)),但您必须处理STL三角形结构跨越块的情况。

如果对您的应用程序有意义,另一个选择是将文件读取并预处理为可以在浏览器中以块的形式读取的格式。