【发布时间】:2017-08-26 00:56:07
【问题描述】:
我正在使用 three.js 将体素表示呈现为一组三角形。我已经让它舒适地渲染了 500 万个三角形,但这似乎是极限。你可以在线查看here。
选择分辨率为 3 的 Dublin 模型以查看正在绘制的大量三角形。
我已经使用了所有技巧来做到这一点(缓冲区几何、体素剔除、多个缓冲区),但我认为它已经达到了 openGL 三角形可以完成的最大数量。
大量体素通常被渲染为 3D 纹理中的一组图像,虽然有几篇文章介绍了如何将 2d 纹理转换为 3D 纹理,但它们似乎对纹理大小有最大限制。
我搜索了使用这种方法的教程或示例,但没有找到。以前有没有人用过这个方法和three.js
【问题讨论】:
-
我认为你不走运试图直接显示它们。您可能需要某种 LODing 系统,以某种方式在近距离显示更多细节,在远处显示更少细节。 Here's another depth data based viewer,当您放大时,您会看到它加载了更多细节。看起来如果您选择“外观->材质->树深度”,它会显示 LOD。
-
感谢您回复我。它实际上是建立在使用八叉树变体的 LOD 模型上的,Potree 启发了我做一个基于 Web 的查看器。我想我在渲染这些数据时已经达到了 webgl 的硬性限制。