我正在寻找一种非常快速的方法来渲染复杂3D模型的小预览。
生成的图像很小,大约300x300像素。 它不需要有阴影或其他伪现实特征。
到目前为止我尝试了什么:
stl2pov.py(stltools) - >的povray: 结果看起来很好,渲染时间低于15秒,但是Povray需要一分钟解析由stl2pov创建的pov文件。如果我使用mesh2格式解析要快得多,但结果是胡言乱语。我相信这是由stl2pov中的一个错误引起的。还有另一个产生mesh2的stl / ply到pov转换器吗?
带循环渲染器的Blender: 这一切都取决于样本的数量。样本数量150给出了相当嘈杂但结果不错的结果,但仍需要30秒。但由于我是一名Blender新手而且这只野兽非常复杂,也许我确实忽略了一些技巧。
似乎光线追踪解决方案太慢而且无论如何都是过度杀伤力。 我发现的所有其他解决方案都依赖GPU来提高速度。
您对如何解决此问题有任何想法。
答案 0 :(得分:1)
对于300x300这样的渲染大小,使用300k +三角形没有多大意义,因此您可以尝试将网格简化为更低的三角形数而没有明显的视觉差异,并尝试使用您已经尝试过的解决方案渲染此网格。这会显着降低渲染时间。
您也可以尝试忽略小于某个值的三角形,看看它是否适合您和您的模型。
如果您需要编写整个渲染代码并希望尽可能简单(或尽早获得一些工作代码),您可以尝试仅将网格顶点绘制为单个像素。使用如此密集的模型,它可以很好地工作,并且即使使用Z缓冲区也很容易实现。
答案 1 :(得分:1)
您可能想要使用光线跟踪器的原因是光线跟踪器 O(n log n),而光栅化器是 O(n ^ 2)操作。因此光线追踪器最终将击败光栅化器。在这种情况下,因为你有这么多的三角形,几乎可以肯定的是,跟踪速度更快。 Povray是一个光线追踪者,但不是最好的。
但在这种情况下。因为您无论如何都需要分析网格,并且只有一个线程。它不是那么明确的交易。 @koledas 的想法很好,只渲染点云。最有可能的是,任何制造网格都足够密集,可以使用。它的方式比任何其他替代方案便宜。
但是你需要一个可以直接从stl发出数据的渲染。如果您正在寻找光栅化器,那么您可以使用:
答案 2 :(得分:0)
您可以随时使用"渲染边框",打开按n,在视图部分标记渲染边框框中,然后使用ctrl + b在要渲染的位置上绘制一个矩形。