PRMan 與 Antialiasing

Mar 2 2007

animation

最近一直在重覆翻閱 Advanced RenderMan: Creating CGI for Motion Pictures 的第六章,How PhotoRealistic RenderMan Works,這一章節將整個 prman 的 Reyes rendering pipeline,從頭到尾描述了一遍。定義且解釋了非常多 prman 用到的名詞,與 RenderMan Global 裏頭,Reyes 這個選單下的很多參數,實在是非常棒的一個章節,堪稱是了解 renderman 的入門章節。像是 micropolygon, dicing, gprims, shading rate, … 都在這一個章節說個明白,非常的棒。

其中,裏頭提到了 PixelSamples 與 Antialiasing 的關係,在我鑽研兼實驗了好一陣子後,終於恍然大悟。

  • 對於 rendering 的時間,在不看 Ray Tracing 的前提下,影響最大的,就屬 Shading Rate 了,再來就是 Bucket Size 和 Grid Size,其餘的 RenderMan Global 裏頭的參數,影響都不大。
  • PixelSamples, Filter 與 Filter Size 決定了 Antialiasing 的成效,對於 rendering 的時間影響不大。而其它類型的 renderer,則會因為 PixelSamples 值的增加,而大大地增加了 rendering 的時間。
  • Filter 部分。Gaussian Filter 的結果比 Box Filter 來得慢且模糊,但在消除高頻失真上表現得比較好。理論上,成效最好的,則是最慢的 Sinc Filter。而在 prman 上頭,有個介於 Gaussian 與 Sinc 之間的 Catmull-Rom Filter,prman 預設使用的 Filter 就是這個。
  • 一般來說,當需要 production 等級的圖時,Shading Rate 的精確程度,至少要是 1,如果允許的話,使用 0.25 或更小的值,才能有效利用到 Supersampling 這項技術。

下頭是幾篇,我覺得講解 Antialiasing 非常棒的文章。其中第二篇,還被中國大陸很多人拿去引用,寫得實在很棒。作者 hotball 對 game / computer graphics 這一塊的了解很深入,是系上的學長,一樣是新竹人 :) 沒記錯的話,只大我一屆而已呢~~

comments powered by Disqus