2015/09/30

V-Ray全新的自適應算法與最佳化的預先計算

原文 / New adaptive method and optimisation prepass early results 
編譯 / Hammer Chen

Vlado過去幾個月很努力工作,研發兩個新功能。讓用戶可以不必擔心算圖設定,且能確保最佳算圖時間且達到想要的品質。

第一個新功能是新的方法,用來評估像素採樣是否夠好,或是需要更多的採樣。過去來說,這是透過雜訊閥值(noise threshold) 來控制的,但是這個方法有其缺點。首先,雜訊的程度可能會因為不同場景的照明條件不同,即使是很類似的場景,最終的雜訊還是可能會有很大不同。再來,雜訊閥值是由絕對的浮點的數值來決定的,暗部缺愈容易有少的採樣 (也因此雜訊比較高) 而亮部可能會採樣過多(導致增加算圖時間, 可是視覺上看不出差異)。其三 ,通常提高MSR不會真正降低AA射線的投射數量,往往只會導致算圖時間突然增加,當你把MSR與高的AA同時使用。



新的方法是基於像素差異(Pixel Variance), 換句話說,以百分比而不是用絕對數值 (我很樂意解釋差異性的細節 ,但會需要統計的概念 。警告, 這不適合一般大眾,但是你不需要了解統計就能使用到這個功能的優點。)這個理論是說,採樣器必須要耗費在整個螢幕相同的時間,而不是在某些區較久,某些區域較短。因此,這會產生整張圖片一致的雜訊程度。對於相同影樣品質可以產生比較好看的雜訊分布。又,加倍MSR會導致AA射線的減半發射,因此可能會產生較乾淨的影像,且花費較少時間(這不是魔術,我把數學的部分省略了,除非你跟我要)

第二的全新功能則是  ─ 預先計算(Prepass) 這會在實際開始追蹤之前分析場景,然後最佳化二級射線與攝影機射線。預先計算會考量場景的三個屬性:法線差異(Normals variance)、反照率差異(Albedo Variance)、景深差異( Depth (Z) Variance)。當差異高時,預先計算就比較深;當差異小時,預先計算就接近白色。預先計算的通道的平均。接著就以MSR相乘 ,得到的結果就是哪些區域需要更多的AA射線 (毛髮、多細節的紋理 、大量個反射、植物等等)這些就不會被MSR設定的二級射線所拖累,而簡單區域 (例如寬廣 平坦的牆面)就會被清理,不需這麼多AA射線 (請記得,這些AA射線計算速度比二級射線要慢好幾倍,所以要盡可能地節省使用。因為用戶設定的二級射線並不會減少,而接續的AA射線就不會發現在這些區域有任何需求。)

儘管我們還在研發 (Vlado負責寫程式碼,我負責測試、測試、測試) 找出這兩個新增功能的最佳平衡。我們認為是時候提供搶先看的內容,用數據來證明 (而不是只用視覺來比較)

廢話不多說,就來看以下測試效果。目標是要達到接近的算圖時間,然後檢查其雜訊程度。
(譯者注:圖片請至原論壇查看)

在本例裡,改變採樣器,在相同算圖時間裡,減少了約30%的雜訊。增加了預先計算的功能 再進步地減少了1.5分鐘的算圖時間,且維持相同的雜訊量。如同我與Vlado所說,新的採樣器並不一定會算的比舊的快,可能會比相同設定算的慢。這個功能強大的地方是讓整張影像的雜訊分布一致 ,在不同的照明條件下,舊的採樣器無法達到。

[延伸閱讀]
Vlado談V-Ray的現況與研發走向
Post a Comment