Pixar這次發布RenderMan 20的版本,主要還是針對在RenderMan的RIS架構上作進一步的調整與更新,將Raytracing的流程調整得更順暢。其中主要的部份就是在post-processing中加入了denoise的機制,讓Raytracing的時產生無雜點(noise free)的影像可以更為快速。還有視覺化的Visualizer Integrator提供產生出幾何資訊視覺化的圖像,供製作者調整render效率最佳化或為場景偵測錯誤(debuging)。
新的Denoise流程
在Raytracing的流程中,ray sample數量一直決定影像品質的重要因素,不管現在任何renderer,都脫離不了這個原則,所以有各式各樣的Sampling的方法出來,包含Importance sampling(IS),Multiple Importance Sampling(MIS),讓sample數量不會增加但是可以有效的分佈在重點,但是在sample不足的部分,就會有noise產生。noise要被消除,有兩種方式,一種是用大量的運算量去解,也就是倍增ray sample的數量,運算時間會隨著Sample數量而增加。另一種則是使用影像處理的方法,使用Denoise的filter做Post Process,這時候可以在noise數量有限的狀況下做快速有效的消除,消除的效率與效果也跟所使用的演算法有所差異。
RenderMan的新的Denoise的流程是在Post Process的時候使用Denoise的filter做Cross-frame的處理。這個技術其實是由Disney Research在製作Big Hero 6的時候所開發,是Hyperion的流程的一部分,用來加速Hyperion Render時間。這個技術也會應用在Pixar的新片Finding Dory上。
一般Raytracing的Renderer也都會有noise產生,像是Arnold或是Vray,通常也會到Nuke之類的合成軟體去做Denoise的處理,像是使用Neatvideo的denoise filter,但是這種只針對影像處理的方式對於細節會有較多的遺失。
RenderMan的Denoiser會在pre-denoise前產生出額外的channel,來讓Denoise的過濾器可以針對需要的細節作保留,並可以跨越多個Frame做偵測(cross-frame),以RenderMan的文件看起來,處理一張1920×1080的影像約會花費2到4分鐘左右,且預先產生出來的給Denoiser處理的原始圖檔也比原本圖檔大的許多。
Visualizer Integrator
每一個Renderer都需要一些視覺化的方法來偵測幾何元件的狀態,RenderMan提供了新的Visualizer Integrator,用於做場景狀態的視覺化,像是UV, normal, wireframe, surface parameterization, camera position等等,可以在Rendering時提供即時的回應。大多的renderer都會有對應的Utility Shader供使用者來針對場景的狀態做最佳化與偵錯,提升rendering的效率。
Marschner Hair
RenderMan使用特製的RIS的給Hair與Fur的Bxdf Shader稱為PxrMarschnerHair,包含四個Specular的components,還有獨特的Back scatter的控制,來控制更為寫實的結果。
Hair Shader包含了
- 完全的energy preserving
- 有Zinke與Kajiya兩個Diffuse Model可供選擇
(Importance Sampling for Physically-Based Hair Fiber Models) - 完全實作了Marschner specular lobes
- Marschner的實作部分使用了data-driven的包含Adaptive Importance Sampling的light scattering model,加速了Render速度與品質上的提升。
(Pixar Technical Memo 15-02 “A Data-Driven Light Scattering Model for Hair”)
Physical Camera
新的Physical Camera Model提供了模擬真實世界的效果,支援傳統的RenderMan的perspective camera所有設定,包含motion blur與bokeh。
Intuitive Holdout Workflow
這個是在Interactive Rendering時取出Reflection與Shadow,用來與實拍背景的製作流程,類似於Maya的Background shader。在RIS中,holdout shader內部實作了LPE(Light Path Expression),不過現在只支援PxrPathTracer的integrator。
詳細可以參考文件Holdout Workflow
New Lights, Light Localization, & APIs
新的RenderMan 20加強了RIS的light workflow,並加入了新的streamlined light shaders,包含友善的Daylight Shader,新的Light localization模式,可以在多個direct light時候降低noise,還有提供新的API來提供製作light filter的外掛。
加入新的RIS使用的AreaLight Source Shaders,PxrStdAreaLight, PxrStdEnvDayLight, 與 PxrStdEnvMapLight
Volumes & Maya Fluids
RenderMan 20加強了RIS模式下的volume rendering的效率,包含重疊(overlap)的volume,varying density, albedo等等,可以達到物理正確(physically accurate)的結果。另外RenderMan for Maya也在RIS模式下支援Maya Fluid。支援在volume加入equiangular importance sampling。
像是使用複雜的field function的volume,像是OpenVDB,render速度提升了兩倍。
詳細資訊