即將問世的 Pixar's Renderman Pro Server 15.0
美國時間 2009/08/04 晚上,於紐奧良(New Orleans)的 New Orleans Sheraton 飯店深處,RenderMan 開發團隊的老大 Dana Batali 正式於 Stupid RenderMan's Tricks 2009 中,對外(某種程度上)公開發表 RPS 15.0 將於今年秋冬上市,它包含了如下幾個重大的變革:
New Texture Format: Ptex
回顧 Disney 於 2008 年的一篇技術論文:Ptex: Per-Face Texture Mapping for Production Rendering,裏頭提出一種新的儲存 texture 的檔案格式:ptex,它有如下的優點:
- polygon 或 subdivision surface 常常會有的 texture UV 的大問題沒了。
- 雖然還是一樣有 UV,但卻是 per-face 的 UV,每個 face 之間的 UV 可以有某種程度上的獨立性,間接去掉了 texture 的接縫(seamness)問題。
- 同時,因為每個 face 的 UV 是獨立的,所以可以非常方便地讓不同的 face 有不同的 UV 分佈密度。
- 最最重要的是,它的儲存結構大大降低了 texture size 與提升了 texture I/O 的時間。
- Disney 的 Brent Burley 特別指出,在拍攝 Meet the Robinson 時,有的角色一隻的 texture 就有數百 GB,對於非常重視 texture 品質的 Disney 來說,是一個大災難。
Imager Shaders
prman 總算支援 imager shader 了。它有點像是 GPU 裏頭的 pixel/fragment shader,不同的時,shader script 的長度無限制、同時 imager shader 不只可以存取每一個 pixel 的值,它同時可以是在 pixel sample 下運作,這代表有機會實作一個 pre-hinder。或是可以搭配 AOV 來實作出 multi-layer multi-pass rendering w/o occlusion! 是 pass rendering 的重要關鍵。
另一方面,可以利用 Imager 寫出很多特殊鏡頭的 shader 來,像是魚眼(fisheye)鏡頭、模擬真實鏡頭的 distortion。又或者可以把 computer vision / image processing 的演算法拿來,直接提供花樣更多的 Non-Photorealistic Rendering(NPR)出來。
Volume Rendering
提供了原生的 volumetric geometric primitives 與直接內建的 volume rendering shader api(不需要 shader TD 撰寫 ray marching),也不需要把 volume shader 細分成 internior, externior, atmosphere 這麼多複雜的樣貌了。另一方面,這也呼應了一位在 Sony Imageworks 的導演的話:The Cloud is the way to go。Volume rendering 在 production 的時代來臨了。
Subdivision Surface API
…
RenderMan Shader Language (RSL)
…
以及每一年都會提到的
Faster Raytracer
…
- Drake's blog
- 1 則回應
- 949 reads
Pixar RenderMan 團隊裏的 Geek
阿則為了從旁給與我一些鼓勵,於是轉貼了一個非常有趣的網頁給我:GEEK OF THE WEEK :Wayne Wooten RenderMan Software Engineer, Pixar
以下是不負責任,依自己喜好翻譯:
你的工作內容? 在西雅圖的辦公室,我協助維護一個叫 Pixar's RenderMan 的軟體,這個軟體主要被一些諸如 Industrial Light & Magic (ILM), Weta, Framestore 等知名特效動畫公司使用,用它創造出了非常多大賣座的電影作品。當然啦,Pixar 本身也使用它締造了不少部大作。
你擔任過最最酷的工作職位:Animation Scientist(動畫科學家)。
你幹過哪些非常黑客的事?最近嗎? 我讓我的 Acer 小筆電成功安裝了 OS X;破解了我的 iPhone;在我自家的 Apple TV 裏頭安裝了 Boxee 這一套媒體播放中心;還有…
最愛的電影:Ghost in the Shell(攻殻機動隊)與 2001: A Space Odyssey(2001 太空漫遊)。
最愛的遊戲:龍與地下城,尤其是它的第四版。
最愛的書:別鬧了,費曼先生。
最愛的垃圾食物:那還用說,當然是冰淇淋~
最愛怎麼用你的私人時間?滑雪,還有用我的 D90 拍我的小孩。
Mac or PC? 我發覺惡搞 PC 或 Mac 都很讚,當然啦,還有 Linux。
iPhone or Blackberry?ur... 你知道的 Pixar 和 Apple 的關係匪淺,不過這是另一個故事了…
Star Wars 還是 Star Trek?什麼! 當然是 Doctor Who 啦!!!
什麼時候發現你是一位黑客?當我還小,八歲的時候,我老爸帶我去一個電腦展,那之後…我就一路沈迷下去了…
你最崇拜的黑客?Ed Catmull,Pixar 的老大,因為他非常地拼命,只為了完成一個使用電腦來製作動畫的夢。同時,他留下了不少電腦圖學界非常重要而經典的演算法下來。
最後,你有什麼要跟我們說的嗎?多陪陪你的朋友和家人吧,你會發現,人生是多麼益也短暫,而友情與親情是多麼的可貴。
Geek link: renderman.pixar.com/
Twitter: w00tdude
這說明了幾件事:
- 黑客是要從小就立志的。
- 要讓一位黑客替你工作,你自己並不需要和他一樣宅,但你得有值得讓你打從心裏欽佩的信念與為人…不然,至少要拿得出大把大把鈔票請他。
- 就算是黑客,一樣會覺得親情友情比電腦來得重要的。
- Drake's blog
- 留言回應
- 1566 reads
Syntax Highlighting for RenderMan by Javascript
使用 RenderMan 的資訊人,比例相對來得少,我們很容易可以遇到一位使用 Java, C/C++, C#, PHP, Javascript, Perl, PHP 的程式人員,因應他們的需求而產生的 editor 也多如牛毛,幾乎可以說每一個月就有一個玩意兒被提出來供這些廣大的程式設計人員使用與把玩。
RenderMan 的技術人員呢? 乏人問津呢~
某一天,在一個非常意外的情況下,我發現了 highlight.js 這個程式。那時的我,想要在我的這個網站上發表一些程式碼,大多是 Mel, Python, Rib, Rsl, Tcl...,於是上網研究一下,想找個適用的程式碼來做到 syntax highlighting。那時並沒有想到 Rib 或 Rsl 也會被支援,只是不經意 google 一下…
用了一陣子,發覺 highlight.js 雖然不賴,但是 Mel, Rib 與 Rsl 的支援很明顯有點過時了,於是先後向原作者提了兩次的更新,並把我所知道的 syntax,直接加諸在原來的程式碼上,然後再把結果回寄給作者看,請他看看覺得如何。
總之呢~~就是我又再次感受到 opensource 界人的親切,他都一一接受了。於是我在不經意的情況下,再次對 opensource 界有了一點點微薄的貢獻了。
highlight.js 的 demo 網頁。
PS. 我知道有個非常優秀,集眾人心血大成,支援約莫 100 種 language,而且非常有彈性,可以任意客製化輸出結果的 GeShi (Generic Syntax Highlighter),但它實在太優秀也太大了,而且好像對於 Rib, Rsl, Mel 沒有直接的支援,就像我說的,RenderMan/Maya 的使用者,在 CS 界算是小眾中的小眾,而這也是為什麼我這麼愛 highlight.js 了,因為它讓我得以很快速地分享我的一些想法(英文版)。
- Drake's blog
- 2 則回應
- 2853 reads
學習 RenderMan 的一套方法
第一屆的 SIGGRAPH Asia 2008 於這個冬天,在新加坡落幕了。雖然沒有親臨現場參與到,但從多方得來的消息(第一手 + 第二手 + 第 n 手),皆透露出“與預期的有些落差“。另一個說法是「比較接近正常的學術論文樣貌」,亦即在有聲光、有話題、有商業加持等的活動,數量上都減少了,因而使得原來的 paper session 的比重就來得比較高了。因為是第一屆,所以 course 的部分有不少“入門級“的,但我特別喜愛這種 course,裏頭常常會有令人意外的東西。
由 SCAD(Savannah College of Art and Design)的 Malcolm A. Kesson 教授所開講的 Pixar's RenderMan,就是個很好的「入門兼中等級」課程。Kesson 教授從事 Graphics Programming 教學(特別是與 RenderMan 有關)已經十餘年,是一位非常敬業且時時在 Pixar 官方討論板上提問題,讓人尊敬的教授。他自行維護的 fundza 已經出現在我的網站不下數次了,非常推薦。
雖然沒有機會現場收聽,倒是拿到了 course note,花了幾個晚上看完。說實在的,參與 SIGGRAPH course 是一件非常「累人」的任務,多麼累人,你只要稍稍回想一下,你那大學時期,聽課聽到有點出神,不小心跑去和周公下棋的經驗。對了,大致的感覺就是那樣。更何況是單單看 course note(pdf 檔),不過終究是看完了。
據說,偉大的天才科學家:愛因斯坦,他的研究之路是經過計劃的。他先是下了苦功把需要的技能一一學會,才開始了他的研究。換句話說,他把需要的「工具」摸熟了,才開始上工。(這也有可能是盜聽塗說,畢竟是一點兒考據都沒有的話,聽聽就好)
- Drake's blog
- 1 則回應
- 閱讀全文
- 2458 reads
RenderMan community of Japan
Bernard Edlington 在他的 blog 上發起了一個 RenderMan community of Japan 的活動,主要就 RenderMan 技術上的討論,目的在日本推廣 RenderMan 這個東西,同時匯集身在日本,使用 RenderMan 的人。同時,他還預計在今年的 SIGGRAPH 2008 期間,在 LA 進行第二階段的活動,讓旅外的日本人也有機會參與到。
我只能說,他相當的用心吶…
有趣的是,他好像是一位外國人,但是他的 blog 有好多日文呀 :o
- Drake's blog
- 3 則回應
- 2523 reads
RenderMan 裏,天殺的 it
故事是這樣的。
因為遇到了個小問題,於是跑去 RenderMan 官方的支援網站問,然後官方一位「常態性回覆官員」出現,先問了我是用 RenderMan Studio (RMS) 還是 MTOR 7.0,然後說我的問題可能沒好的解決方案喔。結果官方的另一位「感覺起來,比較資深的官員」跟著出現,他澄清了一下,我的那個小問題,不管是 RMS 或是 MTOR 都可以用同樣的小撇步解決,因為關鍵程式 it (Image Tool),在兩者之下,運行起來是一模一樣的。
下頭是這一位官員的回覆:
Sure. Its part of it, not RMS. It gets run from "it" for any render that is send to, well, it.
You set the post render script in the "it" settings that ian described.
(Note to self, never name a software product "it")
看官你有辦法看出來,這段回話裏頭,每個 it 各是指什麼嗎 XD
- Drake's blog
- 留言回應
- 3812 reads
好可怕的一個 RenderMan rendering job
這應該是我使用 Pixar's RenderMan 以來,看過最落落長的一個 rendering job 了。粗略地算了一下,有 300 個左右的 task,且根據原作者(發表在 Pixar's RenderMan 官方討論版裏頭)的說詞,有一半是 ptfilter,另一半是 brickmap,我的天…是什麼情況會用到這麼多的 ptfiter,難道是有 100 多顆彈珠散落一地嗎?
最近無聊時,在想一件事。就是呢,為平麼有這麼多的事情都可以被表示成一個樹狀結構(tree)或是圖(graph)呢? 就拿 rendering 這件事來說,一個 RenderMan 的一個 frame,可以被拆成很多個 task,然後每個 task 之間的關係,就組成了像左圖那樣的一個樹狀結構。
然後呢,因為 rendering 真的很費時,至少就 animation 來說是這樣的。(遊戲就當做特例吧,如果一個遊戲的 rendering 要很久的話,會有人想玩嗎?)爭取時間的方法之一就是平行運算(parallel computing)。如果以 task 為最小的運算單元來看,那如何做到同時可以有很多個 task 同時運算,就是重點了。就樹狀結構來看,屬同一層級(sibling)的 task 就可以同時運算,彼此互不相干。
所以呢,這應該就是以樹狀結構來表示一個 job 的好處之一呢?
說來說去,我只是覺得這個 job 的 task 實在太多了,有點噁心,希望我們家的 lighter 不會產生這種 job 來 XD
- Drake's blog
- 留言回應
- 2572 reads
POVMan := POV-Ray + RenderMan
當 Opensource 裏頭,有悠久歷史,且常常是學習電腦圖學(Computer Graphics)中的算圖(Rendering)領域的學子,會去拿來當作一個練習平台的 POV-Ray (@Wikipedia),遇上了工業上赫赫有名的 RenderMan 標準時,就誕生了 POV-Man 這個計畫。
就個人來說,會忍不住想給 POV-Ray 灌上有點神祕,學術上比較高貴的感覺,原因無它,就因為它讓我覺得很遙遠,無從著手,而且除了看到使用它算出來的圖的品質不錯以外,完全不曉得可以拿它來幹麻。
右邊這一張圖,是使用 POV-Ray 算出來的圖,它有 raytracing 特有的反射(reflection)、折射(refraction)和聚焦(caustics,是這樣翻的嗎?)。這張圖同時還算出來景深(Depth of Field)、軟軟的影子(soft shadow,應該不是這樣翻的吧)。
- Drake's blog
- 留言回應
- 閱讀全文
- 4649 reads

