去年的 Siggraph 2010,我印象最深刻的,就屬一個 Open Source 的論壇(panel)了,裏頭聚集了來自 Sony Pictures Imageworks 與 Walt Disney Animation Studios 的兩位 CTO(Rob Bredow, Andy Hendrickson),來自 Industrial Light & Magic 負責 OpenEXR 的核心工程師 Florian Kainz, Pixar Animation Studios 的主要工程師 Bill Polson(這是一位說話嚴謹而誠懇的先生)…等。途中還遇到一樣坐在觀眾席,關心此事,來自 The Foundry 的 Matt Plec。除了 Open Source 界的常客 Blender Foundation 以外,那年的 Imageworks 還推出了 OpenColorIO(OIIO),這個讓我研究了好一陣子才發覺到,一個發展自 VFX studio 大咖的 color pipeline,是多麼的驚人。
Anyway, Siggraph 2011 接續去年的盛況,持續有幾個相關的活動進展著:
- The Need for Standardization Within Global Visual Effects Productions Through Open Source and Open Standards
- Blender Foundation: Community Meeting
- Cortex Open-Source Framework
- OpenColorIO Meetup
- OpenSceneGraph
第一個活動將是直接接續去年那個 panel 的“第二回合“,一樣是 Imageworks 主持,少了 ILM, Pixar, Disney(我想,不是每家公司都有辦法每年來個 open source 些什麼,這幾乎是要當一份正式的工作來看待才有可能執行得好,而不是只是自個兒說說開心就行的事。),但有了新面孔 Digital Domain, The Moving Picture Company(MPC), RFX Inc., … 等的加入。一方面,會提出 Image Interchange Framework (IIF),另一方面會持續介紹 Alembic 這個計畫。
就字面來看,IIF 會在 OpenEXR 上提出一些順應“工作流程“而有的“規矩“,包括塞進 exr 檔裏頭的 metadata 的一個標準,以及一些 channel, layer 的慣用命名等。這個「標準化」的意義有兩個層面:一方面,在跨公司/跨部門/跨人員的合作時,有了標準,就自然可以白紙黑字寫下來,不管你是放在 wiki, 公司內部 KM,印出來的手冊裏頭都可以,因為是大家公認的標準,所以等於是讓執行的人,可以放心按照規則執行下去,這點是非常非常重要的,在一群人一起從事內容創作的環境中,尤其重要。當然,當我這邊說的時候,是特別強調「工程與方法論」的部分而已。最重要的,依然是「創意」與「創作」的部分。
我們來舉個例子好了。在以前 TV 還是很熱門的時代,Truevision Inc. 發表了一個 TGA 的格式出來,它幾乎就是把電視畫面的 buffer 存下來而已的格式。因為標準化了,於是不論是拍片的導演、後製的工作人員,或是廣告客戶,全都覺得,以圖片檔交換時,就是用 TGA,別無它想。這成了一種習慣,你不遵守,其實也還是可以合作與工作,但就是多了一些些麻煩,讓人覺得你更不專業一些(在這個年代,誰都不希望被標上“不專業“的標籤)。所以 TGA 到現在,只要是在處理 TV 相關的後製,還是一樣看得見。
又,在與印刷業的合作中,你都是交出什麼檔案呢? 我猜是 Adobe Illustrator (.ai), Adobe Photoshop (.psd), PDF 這幾個由 Adobe 打下天下的格式,對吧? 不然你試著交出一堆 .bmp 檔試試看會有什麼下場,然後麻煩告訴我一聲。
另一個「標準」所帶來的意義,是軟硬體工具的支援與整合,事實上,這點比前者來得更加重要。我們回來說說 CG production house 好了,它們使用的圖檔格式是什麼呢? OpenEXR、TIFF。那大家又是怎麼用 .exr, .tiff 的呢? 答案一定讓你不意外:亂用一通,尤其是愈小的 studio,就愈是亂用。因為光是趕案子都來不及了,怎麼可能會覺得「標準化」這件事很重要呢?(雖然,這個說法是大錯特錯的,但我一直以來,都常常聽到有人給我這個理由來說明他(她)是怎麼下決策的,可見趕案子這件事是影響力是多麼的可怕!)
.exr 或是 .tif 都允許你放的內容不只有 R, G, B, A 這幾個 channel,那如果你放一些 matte, (ambient) occlusion, specular, sss, 2nd bounded diffuse, … 這些稍為比較特別一點的 channels 時,你覺得應該要叫什麼名字呢? 你手邊的工具可以正確認出這些 channel 的內容與意義嗎? 你們家的美術與工程人員對於這些的解釋是一致的嗎? (這也許是小 studio 發揮好處的時候了,因為人少,坐得近,回頭說一聲應該就行了~ 只要你能接受一直這樣的工作模式的話~)你們家如果因為趕案子而在中途加入的救火隊人員,他們看得懂這些東西嗎?(這是常常被輕忽,但也常常發生的事~) …喔…這就是我說的「標準化」的影響力了~
Follow 這個 open source 的 panel,並不代表你就得在今年內也有想要執行的 open source project 才要去參與;也不代表你只使用商業軟體就可以不用去理會這個 event。事實上,它的影響力遠大於你的想像。說得更白話一點,這些在 open source panel 出席的專業人事們,他們的目的之一是把這些標準推廣到全世界,進入各家的 studio,進入每個商業軟體的開發商腦子裏頭,於是未來的工作流程、工具也就跟著改變了,這就是我們建造這個產業的專業流程與名詞的一個過程。這樣說的話,你是不是開始覺得這是個非得好好聽不可的活動了呢?