旋转pbrt渲染的图像

时间:2016-06-17 05:36:22

标签: graphics rendering raytracing pbrt

我用pbrt来渲染我的场景。我在场景文件中指定了视角,并在用pbrt渲染时我看到了该特定视角的图像。我想知道是否有一种方法可以实时使用鼠标旋转pbrt渲染的场景

1 个答案:

答案 0 :(得分:1)

没有。

要查看它是否可行,请渲染场景并计算所需的时间。为了实时获取,你需要pbrt每秒渲染至少几帧,最好是60帧!

我不认为这将在2016年发生。

或者你需要像OpenGL表示这样的东西来执行实时交互,然后渲染的场景只能显示在顶部(一旦渲染完成)。为了让你做到这一点,截头记忆需要匹配,否则用户与之交互的内容与他们看到的呈现方式不同。

如果你编辑场景文件,听起来就像你不在编码区,所以唯一的可能是编写一些可以显示场景的程序(在GL中)并更新场景文件信息与当前相同相机和渲染使用pbrt。这一切都需要很长时间(pbrt需要每次解析文件,并重新缓冲所有几何),因为提供文件意味着pbrt不会保存以前状态的任何内容,因此必须构建加速结构等以及渲染场景。每一帧!

即使在代码中,pbrt也不会给你带来很好的表现。它不是为此设计的,更像是一个物理上准确的路径追踪器(顾名思义)。为了获得任何远近实时的任何东西,你需要一些坏的加速结构和更好的命令你正在使用的光模型。如果您真的感兴趣,可能需要编写自己的渲染器。查看大都市光传输(MLT)和顶点连接合并(VCM),这是使用蒙特卡罗方法更加精细/高效的模型。

另外一些相当不错的硬件有很多内核,或者如果希望通过Cuda或同等产品使用SIMD,还可以使用体面的gfx卡。

[编辑]另请注意,pbrt渲染器基于一本书"基于物理的渲染(从理论到实现)" ISBN-13:978-0123750792。其中概述了如何实现自己的pbrt版本。