理解可续渲染

什么是『可续渲染』resumable rendering?

简单的说,可续算就是能够当渲染没算完,之后可接续渲染 。渲染被打断, 可能是因为外在因素: 例如停电,或是因为使用者需要停止。

在下一版的V-Ray 3.5 service pack,将推出新的『可续算』功能。要怎样使用呢?只需要在VFB设定里面启动Resumable Rendering,或是在独立版的V-Ray中设定resume=1。 你也可以设定时间间距 ,当使用的是渐进式渲染时。


请注意这个功能还在开发阶段,有些功能可能在最终版的service pack有所不同。

V-Ray提供两种可续渲染

如同你已所知 V-Ray具有几种不同渲染方式 对于可续渲染 差异主要在于小框渲染(bucket rendering)与渐进式渲染(progressive rendering)

小框渲染(Bucket rendering)
当使用小框渲染,状况比较简单。V-Ray会在写入影像的同时把每个渲染小框的数据存到.vrimg档中,当你要接续渲染时 V-Ray就会去读那个未完成的.vrimg档案, 然后接着算还没算完的小框光快取(light cache)也存在.vrimg档案中, 因此在续算时V-Ray不需要重新计算light cache。
渐进式渲染(Progressive rendering)
在这种状况下,你需要在Resumable Rendering settings中设定时间间距,告诉V-Ray多久存一次当前的影像状态, 让V-Ray之后可以从该状态开始接续渲染, V-Ray会另外存成.vrprog档案 。里面含有所有V-Ray以渐进试渲染模式进行接续渲染所需要的信息, 除了progressive buffer的数据外, light cache也会存在里面, 因此续算时不要重算, 当你终止,然后接续渲染时 V-Ray会读取.vrprog ,然后从上次停止的地方开始渲染。

有几点必须考虑

因为这个操作式透过另外存的.vrimg 或 .vrprog档案 VRay会把这个档案存在你最终输出影像的同一个目录中, 这两个档案都很大,含有大量数据,特别是.vrprog 里面有整张影像所需要的数据, 不像.vrimg还有局部完成的小框。
当接续渲染时,在真正开始续算时还需要某些准备动作 ,其中包含场景准备, 加载纹理。 虽然GI light cache已经事先存好 ,但是irradiance map并没有, 因此必须要重新计算。

使用案例

外在因素终止渲染
有很多外在因素会造成渲染中断:可能是计算机断电、或是内存不足、或是你是以Google的短期虚拟机服务进行云端渲染。在这种状况下,虚拟机会比标准的虚拟机明显便宜20%。 短期虚拟机服务(Preemptible machines)的缺点是可能在短时间通知内被召回,如果发生这样的事,新的虚拟机可以备份然后从没算完的地方开始重算。

自行决定要终止渲染
用户可能会想要自行中断渲染,可能是因为算太久, 或有其他重要的事要先处理。若是这样的话,你可以轻易地终止渲染,再续算时不会失去已经算的部份。
另一种可能是跟渲染农场的规定有关,要在某些时段终止渲染,确保在一晚能把所有镜头都算完。如果你用的是渐进式渲染,那至少可以有点噪声但是全部算完的预览版本,然后之后接续渲染再达到最终高质量渲染。

渐进质量的动画渲染
依你的渲染管理程序,例如你可写个简单的script 让你可以算整段动画, 每个frame花五分钟 然后再接续算五分钟, 直到质量到到想要的标准。 这表示不管如何, 在渲染农场上, 你都可以至少得到一个完整版本的动画, 而且可以用接续渲染的方式逐步增加渲染质量。
请记住, 因为你还是需要加载场景,以及准备场景中的所有instance ,这些步骤也是会花点时间 建议你不要把时间间距设的太短, 例如30秒。


在渲染途中终止

续算 然后把没算完的小框继续算完

结论

『可续算』这个功能会大幅地改变您工作流程, 以及你选择渲染的模式。可以大大减少你对长时间渲染的焦虑。以上我们只列出几个用户案例,期待听到您的意见,我们想了解这个新功能会怎样改变您的工作。