arnold渲染器

SolidAngleSL開發的渲染引擎

Arnold渲染器是一款高級的、跨平台的渲染API是基於物理演演算法的電影級別渲染引擎,目前由SolidAngleSL開發。正在被越來越多的好萊塢電影公司以及工作室作為首席渲染器使用。

arnold渲染器特點有:運動模糊、節點拓撲化,支持即時渲染,節省內存損耗等。

引擎簡介


arnold與mental ray渲染效果
arnold與mental ray渲染效果
Arnold渲染器是基於物理演演算法的電影級別渲染引擎,由SolidAngleSL開發。正在被越來越多的好萊塢電影公司以及工作室作為首席渲染器使用。
Arnold是一款高級的、跨平台的渲染API。與傳統用於CG動畫的scanline(掃描線)渲染器(Renderman)不同,Arnold是照片真實、基於物理的光線追蹤渲染器。
Arnold使用前沿的演演算法,充分利用包括內存、磁碟空間、多核心、多線程、SSE等在內的硬體資源。
Arnold的設計構架能很容易地融入現有的製作流程。它建立在可插接的節點系統之上,用戶可以通過編寫新的shader、攝像機、濾鏡、輸出節點、程序化模型、光線類型以及用戶定義的的幾何數據來擴展和定製系統。Arnold構架的目標就是為動畫及VFX渲染提供完整的解決方案。

發展歷史


MarcosFajardo是Arnold渲染器的首席構架師。先讓我們看一些2000年Arnold渲染的圖片,由於使用了半球和全局照明,這些圖片的真實感是以往渲染器很少達到的,這使得Arnold引起了不小的轟動以及不少製作公司的注意。不過後來,Marcos和Arnold淡出了人們的視線,很少有網頁提及他們,公司網站也一直處於“建設中”。你可能很難猜到你觀看的某部電影是用Arnold渲染的。
Marcos生於西班牙,14歲的時候開始對計算機圖形學產生興趣。和我們中的很多人一樣,他開始使用的是8bit的電腦,使用BASIC彙編語言編寫小的圖形程序。他原本想學習數學,不過1992年就讀大學時卻選擇了計算機科學專業。一個朋友向他介紹了Vivid以及POV-Ray光線追蹤渲染器,讓他心中一亮。數學能被用來創建這些超酷的圖像讓他興奮不已,從1994年起他開始編寫自己的光線追蹤渲染器。網際網路在那個時候開始逐步發展起來,他的第二個指路明燈是TheRayTracingNews—一個關於光線追蹤的新聞網站,這讓他了解到其實很多人已在這個領域取得了很棒的研究成果。RTNews就像一張地圖,為他提供了相關的SIGGRAPH論文和書籍的名錄。白天他會去大學圖書館複印相關的文獻,晚上閱讀它們,有的時候甚至通宵達旦,只睡一兩個小時,這嚴重影響了他的學習,甚至到最後都沒有完成全部學業。
他在網上發布了一些自己渲染的大氣氛圍效果的圖片,於是他開始得到一些公司的工作,包括馬德里的REYESInfografica和英國的LightWorks。1997年他去了SIGGRAPH,在那裡看到了最新的研究成果,開拓了眼界。
Marcos並不想只替別人工作,他想編寫自己的渲染器。他看了幾種已有的hybridrenderer(混合掃描線和光線追蹤的渲染器),把它們和Kajiya對pathtracing所作的研究進行了比較,覺得純隨機光線追蹤將是未來的發展方向。1997年Marcos開始構建Arnold的框架,那年他24歲。
從1997年起,他作為獨立諮詢師參與了不少項目,不斷改進和完善他的軟體,並始終保有軟體的知識產權。這往往需要額外協議,就像和Sony達成的一樣,但這些問題對一個好律師來說不難解決。保有知識產權使他簽的合同不可能有太高的價碼,但畢竟這使他繼續成為軟體的擁有者。
1997年,他留意到一家位於多倫多製作表現圖的CAD公司,並向這家公司展示了為Arnold最新添加的大氣漫射效果,於是他們雇傭了他並將Arnold用於製作。當然Marcos仍然擁有IP(知識產權),他的薪水不高,特別是對於他所做的特殊工作來說,甚至這些薪水都無法為繼他在多倫多的生活。不過,這是非常好的經歷,他可以按照自己的想法自由工作,改進軟體,同時還能遇到很多業界的專業人士。這一模式—受雇於公司來為Arnold添加新的功能—是他過去13年的生活模式。
Siggraph1997,他打地鋪留宿在BelAir的一些朋友家,這些朋友向他介紹了他們的朋友,其中一個是在BlueSky工作的動畫師JustinLeach。Justin知道Marcos在研究渲染,於是向他介紹了CarlLudwig—BlueSky的創始人,也是BlueSky渲染器最初的開發者之一。Carl帶他參觀了公司,並花了一些時間一同討論光線追蹤的話題。BlueSky是第一家全部使用光線追蹤進行渲染的公司,看到他們的渲染,特別是JohnCars渲染的一張利用天光進行照明的圖片,Marcos佩服得五體投地,這也更堅定了他的看法:全隨機光線追蹤應該是Arnold的方向。BlueSky製作的Bunny(1998奧斯卡最佳動畫短片)就是使用隨機光線追蹤,當然兔子本身沒有使用間接照明(代價太大了),這也許是第一部使用unbiased蒙特卡洛輻射演演算法的電影。
2001年一部個人動畫電影50PercentGrey獲得奧斯卡提名,該片使用了Arnold渲染。它的成功對Arnold是標誌性的:完成全片只使用了幾台電腦,顯示了隨機光線追蹤可以在小成本的CPU投入上完成高質量的圖像製作。
2004年他開始受雇於SonyPicturesImageworks。他的一個朋友PepeValencia正在Sony製作動畫電影MonsterHouse的動畫和previs,Pepe將Marcos介紹給這部片子的視效總監和副導演JayRedd。Jay腦中已有了MonsterHouse的大致效果,他認為角色看起來應該更接近物理真實,而不是CG,所以全局照明對他來說很重要。他們嘗試了其它渲染器,但要達到他要的效果速度都太慢了,於是他們測試了一下Arnold,結果非常振奮人心,當然Arnold還缺少很多面向製作的功能,例如物體歸檔的延時讀取、貼圖緩存系統、毛髮物體等等。所以Sony組織了一個由經驗豐富的渲染開發人員構成的小團隊,緊密工作,來為這部影片提供支持,讓渲染器滿足製作的需求。在此期間,Arnold的渲染速度,特別是運動模糊,有了明顯的提升。
Marcos原計劃在洛杉磯呆一年,但項目一個接一個,他實際在那裡呆了3年。5年後Sony已經成為一家全Arnold渲染的製作公司,Arnold參與渲染了很多影片,例如MonsterHouse、Beowulf、EagleEye、Watchmen、2012、美食天降、愛麗絲夢遊仙境、《超凡蜘蛛俠(TheAmazingSpider-Man)》、《黑衣人3》,這些都是SonyPicturesImageworks做的,還有《碟中諜4幽靈協議》以及一些即將發行的影片。美食天降是第二部全部使用Arnold渲染的動畫電影,也是第一次運用了Arnold的全部能力:運動模糊、次表面散射、毛髮等。雖然這篇文章主要講的是Marcos,但Arnold的這些功能也要歸功於Sony的開發團隊,特別是CliffStein和ChrisKulla—兩個神奇的渲染黑客,還有ReneLimberger,ScotShinderman,EduardoBustillo,SolomonBoulos,以及後來的LarryGritz,AlexConty和AngelJimenez。

電影項目


Gravity(Framestore)-《地心引力
Oz,TheGreatAndPowerful(SonyPicturesImageworks)-《魔境仙蹤》(Sony電影)
TheHungerGames(Whiskytree)-《飢餓遊戲》
TheAvengers(IndustrialLight&Magic,LumaPictures)-《復仇者聯盟》(工業光魔
RedTails(RodeoFX,UPP)-《紅色機尾
HotelTransylvania(SonyPicturesImageworks)-《精靈旅社》(Sony電影)
Mission:Impossible-GhostProtocol(IndustrialLight&Magic)-《碟中諜4》(工業光魔)
CaptainAmerica(Whiskytree)-《美國上尉》
ArthurChristmas(SonyPicturesImageworks)-《亞瑟·聖誕》(Sony電影)
X-Men:FirstClass(LumaPictures)-《X戰警》
47Ronin(Framestore)-《浪人四十七》
AliceinWonderland(SonyPicturesImageworks)-《愛麗絲夢遊仙境》(Sony電影)
SourceCode(ObliqueFX)-《源代碼》
TheSmurfs(SonyPicturesImageworks)-《藍精靈》
Thor(LumaPictures,Whiskytree)《雷神
等等...
arnold渲染器支持Maya和softimageXSI,高度與maya或者XSI內核交互集成。
基於物理真實的蒙特卡洛光線追蹤引擎單向路徑追蹤引擎
20萬行高度優化的C/C++代碼
完全多線程并行和單指令多數據架構(SIMD)

引擎特點


運動模糊(SRT動畫和變形動畫)(支持即時渲染)
節點拓撲化,可編程的shaders
上億三角形和毛髮渲染(支持即時渲染)
可延緩的/程序化的幾何載入方式(節省內存損耗)
紋理緩存(.TX預先mipmap支持)
32位貼圖支持(直接讀取與輸出)
多通道AOV輸出(renderpass輸出,自定義AOV輸出)(支持即時渲染)
sss點雲演演算法支持(支持即時渲染)
獨立的Skin材質(支持即時渲染)
獨立的毛髮材質(支持即時渲染)
基於物理計算的材質系統(支持即時渲染)
基於物理演演算法的燈光系統(支持即時渲染)
支持maya流體系統(支持即時渲染)
支持shaveandhaircut毛髮插件(支持即時渲染)
自帶物理大氣系統和燈光霧效系統(支持即時渲染)
巨量多邊形置換系統(默認支持攝像機距離優化參數)(支持即時渲染)
支持各類攝像機和景深渲染(支持即時渲染)
自動化的線性流程

優秀之處


單個通道:簡單到令人瞠目的流程(沒有額外的文件和緩存)
只有一項質量控制(AA採樣數量)
始終完美的陰影(不需要陰影貼圖啥的了)
交互性(漸進式渲染)
不消耗內存於存儲燈光和GI
更快的光線追蹤
更少的內存佔用
以最佳的多線程性能為目標(線性增長)
全新的光線加速架構
BVH、kd-tree
樹的創建時間的重要性低於樹的遍歷
幾何量子化
優秀的二維(像素,鏡頭,燈光,BRDF(雙向反射分佈))和一維(運動模糊,體積)採樣
權重控制的BRDF採樣
權重控制的立體角式光源採樣
權重控制多重採樣
權重控制體積採樣
注重維度間的相關性

安卓版本


支持的軟體

ArnoldStandalone阿諾德渲染器獨立版
ArnoldforSoftimageSoftimage|XSI外掛插件
ArnoldforMayaMaya外掛渲染插件
ArnoldforHoudiniHoudini渲染插件
ArnoldforCinema4D

各版本交互

可導出.ass格式文件,該文件可以在各版本渲染器中使用。需要在新場景中引入原版本shaderdll文件。