2016/12/03

V-Ray 3.5 resumable rendering可續算的功能


原文 / Understanding Resumable Rendering
作者 / labs.chaosgroup.com
翻譯 / Hammer Chen

什麼是『可續算圖』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秒。

結論
『可續算』這個功能會大幅地改變您工作流程, 以及你選擇算圖的模式。可以大大減少你對長時間算圖的焦慮。以上我們只列出幾個用戶案例,期待聽到您的意見,我們想了解這個新功能會怎樣改變您的工作。

No comments: