我用pbrt渲染我的场景。我在场景文件中指定了观看角度,在用pbrt渲染它时,我从那个特定的视角看到图像。我想知道是否有一种方法可以实时地旋转pbrt渲染的场景。
发布于 2016-06-19 14:27:13
不是的。
为了看它是否可能,渲染一个场景和时间,它需要多少时间。为了获得它的实时,您将需要pbrt至少渲染几帧每秒,最好是60!
我不认为这种情况会在2016年发生。
或者,您需要类似于OpenGL表示的东西来执行实时交互,然后呈现的场景只能显示在顶部(一旦渲染完成)。结果需要匹配,以便您这样做,否则用户与之交互的内容将与他们所看到的呈现的不一样。
如果您编辑的场景文件,它听起来像是您不在编码的土地,所以唯一的可能性是编写一些程序,可以显示场景(在GL),并更新现场文件信息与当前相机和渲染使用pbrt。这将需要很长的时间(pbrt每次都需要解析文件,并重新缓冲所有的几何图形),因为提供文件意味着pbrt不会从以前的状态保存任何东西,因此必须构造加速结构等等,以及渲染场景。每一帧!
即使在代码中,pbrt也不会给您带来很好的性能。它不是为此而设计的,更多的是一个物理上精确的路径跟踪器(顾名思义)。为了得到任何远程接近实时,你将需要一些糟糕的屁股加速结构和更好的控制光模型,你正在使用。如果你真的感兴趣,你可能需要写自己的渲染器。通过蒙特卡罗方法,考察了城市光传输(MLT)和顶点连接合并(VCM)这两种更为精细、高效的模型。
加上一些相当不错的硬件,有很多核心,或一个像样的gfx卡,如果希望使用SIMD通过库达或同等。
编辑还注意到,pbrt渲染器是基于一本书“基于物理的呈现(从理论到实现)”ISBN-13: 978-0123750792。其中概述了如何实现您自己版本的pbrt。
https://stackoverflow.com/questions/37873858
复制相似问题