2013/10/18

以VRay 3.0進行unbiased無偏差算圖


編譯:Hammer Chen

在電腦圖學中,無偏差算圖(unbiased rendering)所指的是一種不帶有整體錯誤的算圖技術。從數學的觀點,我們對無偏差解算器所產生的數值預期結果通常就是母體平均數(population mean),無偏差算圖發現到的錯誤通常是因為變異數(variance),就是在算圖結果中發現到的,亮的雜訊。相反地,如果是用偏差的算圖引擎(unbiased renderer)算出來的結果通常比較平滑無雜訊。----Wikipedia

以下譯自Chaos Group Forum討論版



Tony_Morev問:請問我要怎樣利用V-Ray 3.0進行無偏差(unbiased)算圖? 請問要怎樣設定才能達成無偏差算圖。當我用新功能BPTracer helper時,算圖結果看起來不太對,過亮,看不到反射。

Vlado回答:
要以V-Ray盡可能地達到無偏差算圖的話,你可以使用以下設定

  1. 將primary 與 secondary GI引擎都設為"Brute force"
  2. 將brute force bounces設為500
  3. 在"Global illumination"選單中將"reflective GI caustics"開啟 (請注意不是photon-mapped裡面的那個causitcs)
  4. 在global switches選單中 開啟"Override depth" 設定為500
  5. 將所有的VRayMtl materials的cutoff設定為0.0
  6. 將所有的V-Ray燈光的cutoff設定為0.0
  7. 如果你將"Max. ray intensity"這個選項開啟的話,請關閉之 (如果開啟就會變成偏差模式)
  8. 如果你啟用了"Subpixel mapping"的話 起關閉之 (如果啟用的話就變成偏差模式)。你也可以搭配使用progressive image sampler,儘管用adaptive也可以,但是你要等待所有的算圖格(bucket)跑完才能看到結果








以上是我目前想得到的,如果還想到別的我再加進來。

Tony_Morev問:我試了你的建議設定,要花很久很久的時間才能算完耶!而且似乎雜訊很多,所以結論是沒辦法以V-Ray 3.0進行無偏差的算圖?

Vlado回答:我覺得不是這樣的。首先,我希望下一個beta版的bidirectional tracer能做的更好。第二,有很多參數你可以關閉的,例如reflective GI caustics你可以關掉,另外你也可以用"max. ray intensity" (譯註:來解決過量雜訊的問題)這兩個動作應該可以讓算圖變快很多。還有,值得一提的是,市面上絕大部分宣稱無偏差"unbiased"的算圖引擎,其實都有點偏差算圖,只是它們不展示或是略過那些去掉影像雜訊的步驟 因此沒有理由說V-Ray不能這樣做 (譯註:偷吃步)

Tony_Morev問: Corona Renderer就可以做到

Vlado回答:其實根本就沒有達到。你問說怎樣可以設定無偏差算圖,並不是問說能不能跟Corona Renderer算的一樣,這是兩個不同的事。Corona的預設參數並不是無偏差算圖的,首先它的反彈次數事有限的(我記得預設值是反彈25次);其二,它也提供了max. ray intensity這類的參數 (我記得是20) 。若是你將反彈次數設的高,關閉max. ray intensity選項,你再看看會算多久吧!我同意啦Corona Renderer有些地方算的比V-Ray要快,如果你感興趣的話我可以細談,例如它的vertex merging方法比V-Ray要好。這我同意,但我相信之後我也能寫出那樣的品質!

[推薦閱讀]


No comments: