星期二, 11月 16, 2010

測試在 android 發文章

自從買了之I9000之後,才發現原來 android 系統已經很成熟了。用 android 系統的經驗讓我很想學如何開發 android 的程式。
或許也是因為 apple 已經跑出來一套系統讓g家參考。可是因為我不在賈不思的現實扭曲力場之中所以從來就沒考慮過 iphone。

Published with Blogger-droid v1.6.5

星期二, 10月 26, 2010

好樣的 Arnold (不是 android 喔)

Arnold 在很久之前是一個很神秘的算圖引擎~
打從它在max平台上就沒幾個人真的有辦法拿它來實作什麼東西。神秘到了極點啊,在那個GI還正開始在算圖界發光發熱的時後,只要是這種新的可以算gi的引擎大家都非常的關注!
那時後這張圖不知羨煞了多少人啊…


都忘了是max幾版(2.5?3?)的事了… 圖出自pepeland


不過…
之後它就消失了…(暗!進介面圖都沒看過,文字命令列也沒有,啥訊息都沒有就不見了),而且final render,vray,巴西等等的算圖引擎大家也都研究不完了就沒人再理他了…
就在大家都忘了有這一號 renderer 時…它卻又出現了,這一次就直接丟了個動畫片出來…
〝食破天驚〞這部電影的算圖引擎就是 Arnold !!!


這圖的版權一定是sony所有的了…



從此之後就開始一點一點的,Arnold 的風聲或是跟其他算圖引擎的比較圖就被po出來了
像是 這個 ~似乎是開始為出道做準備~

果不其然之後官方自已開說明會了 XD

你可以在這二個影片裡看到有關於比較詳細的 Arnold 介紹,
這可是第一次的官方展示會喔~~

Part1
http://www.vimeo.com/15878348
Part2
http://www.vimeo.com/16155555

影片中重點的部份其實在投影片上都打出來了。
像是 Arnold 是啥鬼這張投影片我們可以清楚的看到列出了主要的特點

  1. 電影級的光跡追蹤算圖引擎(第三點中有說到是純的光跡追蹤,沒有混用scanline或啥有的沒有的算法)
  2. 物理基礎的蒙特卡羅路徑追蹤
  3. 對diffuse或是glossy等等的不須要做快取
  4. 支援多平台(xsi本身就有多平台)
  5. CPU為主,多緒支援,SIMD加速
    Soild Angle 跟 Sony Pictures Imageworks 共同開發 (打一下廣告應該的)

優點:

  1. 大幅度的簡化流程!(沒有其他檔案或是快取…沒有快取耶…真的假的…)
  2. 單一算圖品質(沒有啥產品級算圖設定,草圖級算圖設定這種鬼選項)
  3. 完美的影子(不用 shadows map )
  4. 漸進式算圖
  5. 不須用記憶體來存 lighting/GI 的資料

或是在流程上的支援

  1. 高品質的動態模糊
  2. 網路算圖,可自由編寫 shader
  3. 支援 sub-d surface
  4. 可以算很高的細節的髮線
  5. 分散式/程序式的載入模型 (在3d軟體裡是 low 的 model , 在算圖時期切換成高品質的 model )
  6. 貼圖快取

影片2是解說 SItoA 這個外掛。
特別的是他們用 opensource風格的方式來管理、開發從 XSI 到 Arnold 的外掛。只要是 Arnold 的客戶或是測試用戶,可以直接存取以svn方式管理的 SIotA 開發樹。

影片中也不難看出 Arnold 在漸層式算圖中的實力,目前沒有訂價,但主講者說不會比RENDERMAN 貴 XD。

看完影片後才知道後來有那麼多影片都已經用上了 Arnold 了啊…
希望可以早一天看到他開發出給其他平台用的版本,不要只有xsi得天獨厚,明明一開始就是在MAX上的東西啊 q_q …機車的XSI。


報告完畢~

星期一, 6月 14, 2010

玩具總動員3 觀後感~

難得我也有寫開箱文的一天。

我要寫的東西不是3c產品但也跟3有關。

是最近上映的玩具總動員3。

事實上我對玩具總動員1跟2都沒那麼有好感。

Pixar裡我最喜歡的是瓦力跟汽車總動員。

所以可以提早看玩具總動員3其實我也沒多興奮…(是滴,當然我就是抽到首映票的那一群少數人…)而且當天還下不小的雨,連老天爺都擺明了叫我不要去看了。

所幸本人有者東西不吃完會被雷公劈的處世態度,當然就不可能白白的浪費電影票,下著雨,也是硬著頭皮(天知道我有多懶得)去。

也還好我對玩具總動員3沒任何興趣,所以網路上的電影片段我完全沒看過。

也不知玩具總動員3大致上的劇情是什麼,我一直覺得這樣的情況之下是看電影的最佳狀態。

如果導演夠厲害,他就有辦法讓你的心一直在這些角色的身上。

玩具總動員3在這一點做的很好。從頭到尾幾乎我都沒有自已的想法,就是一直被導演用鏡頭牽著走,我喜歡這種感覺。只有二個地方被我逃脫了。但這會雷到(一點點而已),所以之後再講。

故事的舖陳很棒,我不知道怎麼形容這種情感。編劇群定調的很成功。或許在這些年之中編劇群裡有成員也經歷過相同的事,才會這麼深刻的呈現在電影上吧。

這部片主要就是在講主角跟玩具們之間的感情(不是前二集都是這樣嗎),該放手時放不開,但知道無法挽留,放開才是對雙方最好的方法。暗…好像在談戀愛!

不過在這部電影裡當然不會搞成戀人之間的那種愛,而是像家人跟家人之間的親情。就是全心全意的只求對方好而不求任何回報。畢竟戀人之間可能可以用肉體來回… 咳咳…

看這部片會掉淚,不過還好,記得看imax版的就會有大眼鏡可以遮,所以可以不用怕。哭的點也應該離散場還有一段時間,不會太明顯。

劇情就不要講太多了。電影要賣的就是這個了,說穿了就沒意思了。

技術面最厲害的,就是讓人忘了技術的存在。

關於玩具總動員3的技術面就沒啥好說的。基本上你根本就不會去體認到所有的東西都是”算”出來的這件事,不管是在垃圾帶的拉扯,焚化爐的火燄特效,人物動畫的活靈活現,場景中每個物體的貼圖質感…等等,都好到沒話說了,很多東西如果不是因為他的造形上有刻意去做出卡通感,色調上偏重繪圖感,我想應該是看不出來是照片或是CGI了。在電腦繪圖的領域也應該沒啥是pixar做不到的了,那麼多電腦圖學的東西都是這家公司的大老發明的。不知道在up裡用上的 point cloud 的gi render法在這一次的應用上又發展出了什麼延伸。希望今年siggraph上pixar會再丟一些更高段的應用法給我們聞香。

忘了提到,這次有依照慣例,拿來熱場子的短篇動畫作品。

這個我講多一點應該沒關係~哈。

這個故事一樣很棒。在創意、手法、跟言之有物這三點上都很成功。

它用了手繪動畫跟3d動畫結合來呈現這個短篇動畫,故事本身則是在講二個相反的個體之間因為不了解而產生衝突。

但事實上這二個不同的個體只是同一種事物的一體二面。

角色主有二個,一個是白天,一個是黑夜。這二個角色是手繪,而3d動畫的部份則是以這二個角色當做mask,只顯示在這二個角色所佔到的畫面內。

所以動畫不但講出了想講的東西,在呈現的手法上也明示了電腦動畫跟手繪動畫本來就是一個事情的一體二面,高招。

中間有一段有講話的部份,我覺得不要講會更棒。或是該段只要有一點點,點到為止,其他的讓觀眾自已去解讀會更好,不過那當然只是我個人的想法。

最後談一下讓我跳出導演掌控的二個地方。第一個是在一開始,我個人的問題,我還沒入戲~第二段是那個小鬼很開心著在玩著玩具的…算是回憶吧。那一段讓我覺得在情感上假假的,因為現在的小孩好像不會做這種事了。但也或許是我沒經歷到。

以上就是我的開箱文了,看不看當然是隨你,只希望會讓你對這部片多感興趣一點。而我要來去修正我的pixar最愛排行榜了~

星期五, 1月 29, 2010

importons 和 Irradiance Particles

暗…好久沒發文了說…也不知道要發啥,有了plurk之後就一直在噗…都沒在寫 blog…最近翻了一篇文。是跟mr有關的,有興趣的人就看一看吧。英文高手們就不要來亂了…

==以下是翻譯文===========================================

mentalray 3.6 +新增了importons和發光粒子功能。
這裡一些測試和說明。最後~你需要有一個 geoshader 以啟用這個新功能。
Importons是執行計算為主導的抽樣貼圖。(不知道怎麼翻)
它們可用於為主導的光子映射功能,作為合併的光子。
也就是說,光子接近 importon 將被保存到貼圖上,其他的就直接捨棄。這將導致光子地圖的資料量大減,但卻很精確,因為我們直接捨棄對最後成像沒有很大的影響的光子,因此我們有更多的光子密度分佈在我們需要的區域(好吧,光子不是真正的'捨棄..當一個光子被丟棄,其能量被重新分配給附近的光子)。
為了讓 Importons與光子合作,你必須設置global.illumination捲廉下的merge參數為零,也要在importon捲廉下設其 merge參數為"非零"的值這會告訴mentalray使用Importons合併光子,而不是一個固定的合併距離(如果gi捲廉下的merge參數設成非零值)。
Importons在importons階段被射出,此一階段發生帶光子射出之前。一旦光子貼圖保存好了。 Importons就被捨棄。在verbosity中,你會發現有多少光子合併以及有多少被保存到貼圖上。如果使用'density'參數,則 Importons發射取決於render的解析度大小,也可以用'emitted'參數任意的發射。
當使用Importons與光子地圖,'traverse'選項要勾選。在這種模式下Importons不會被物件阻擋,會持續繼續計算任何進一步交叉區域的重要點。
最通用的實作Importons方法就是打出了大量的光子。光子的問題不在於發射光子而是光子貼圖:如何取得、平衡,儲存和相互共享。
一般來說,在32位元的作業環境下,存儲多於1千5百萬的光子在一張貼圖,還是有些問題。首先,貼圖可能大到200/300mb或是更大,mentalray會在試圖保存貼圖之前先最佳化它…然後mental ray就會就當掉。現在讓我們回到問題點上,為什麼我們要發射1千5百萬個光子…?
一般來說處理光子時有如下二個技術手法。
在大體的的燈光情況下使用一個底解析度的光子貼圖,然後利用FG來得到細節的部份。
利用高解析度的光子貼圖來準確地處理打光的細節,然後利用FG來產生接觸的陰影等等的細節。
現在,我們有第三個解法。
我們可以用光子與Importons合作,就可以達到有準確的光子反彈、進而收集到很小的細微的細節。
舉個例子。
我在一個封閉的box裡發射了5百萬個光子。
光子發射計算時間不超過30秒。
我的工作平台是在二台雙核心分佈式算圖的環境上。
光子貼圖算好了,它的大小約為102mb。這剛好是我DBR渲染所能負荷的極限了。我要等待貼圖被傳送到第二台電腦上,雖然我的場景案很小。最後等我第二台電腦拿完那個1、2百mb的光子貼圖時,第一台已經render完成了。就…浪費了渲染的時間。
再來看看結果,那些我們用光子貼圖產的經典render圖。就…很low的細節,只要看看盒子下方的暗處,那個影子有多不自然。
http://img377.imageshack.us/img377/485/impphotonysd6.png
現在,我們可以嘗試使用Importons。全密度。和merge參數為0.05(公分,而光子半徑是1公分)和勾選traverse。
http://img379.imageshack.us/img379/6163/impmergingverbosityzd1.png
光子貼圖現在是3861kb。
如上述,,我們可以看到只須要有約200.000光子分佈於重要的、對成像影響較大的區域上。由於光子的分佈是以importance為基礎的,我們打出了足夠密度的光子用以涵蓋所有的區域,以便當通過importons合併後,仍然有足夠的光子可以取得細節。只要看一看立方體的陰影,沒有用 importons和有用importons的差別。
http://img74.imageshack.us/img74/6382/impphotimplc2.png
(編輯:由於importons用於合併光子,用完就丟,只有光子貼圖會被保存下來。這意味著,可以用maya的 photon map visualizer在視埠中直接看到有用importon跟沒有importon的photon分佈情形。 :)
================================================== =============================================
此外,我們也可以單用Importons、不跟光子、發光粒子和用。
Beside the fact,你需要一個最小量importons來得到平滑的成像,在這裡最重要的參數(跟之前和光子貼圖同時開啟時是merge,在這情況下則被忽略)是跟踪深度。舉例~我們需要讓很多importons在場景中反彈用以得到一個完整的遍歷場景的importon貼圖。先把density 參數設為0.2之後可以向上調升。對於Depth 這個參數以2為起啟值。
發光粒子。
讓我附上mentalimages怎麼說明這個'新'的技術:
'有一段對於技術上的簡短說明:在渲染之前,
importon從攝影機視點被發射出來。他們撞擊到場景中的某點,該點帶著在那一點位置上它光照的強度資訊(當然,也有可能是間接照明
,也因此稱為“發光粒子”)被合成到一個貼圖之中。
一個間接照明pass或是多個間接照明pass,都可以計算。
演算法的本質上是以 importance-driven。在
rendering時期,發光粒子被用來計算每個成像點上的光照
;如果發光粒子只有收集到直接光照,那就
相當於一個反射的間接照明。光照也可以
在粒子的位置預先計算插值。'
參數的部份就跟FG很接近。
有一個要在粒子採樣點上預計發射多少光束量的參數。
有個在粒子的位置計算插值的方法(也有針對第二次反射的)和另一個模式。即、沒有沒有使用插值時會像brute force法來處理。
Passes 參數代表著計算光照強度時會考慮幾次的光線傳遞(反彈),就像是FG裡的diffuse bounces參數。
最後,如果您有一個環境,像是mr_sky,發光粒子將支持另一組採樣參數。
這裡有一些用來說明新功能的圖組
只有在第一張圖片完整的使用了importon + irradianceparticles。其他的只是保留了計算完的結果(GI mpas),然後再次下 render。在計算importon + irradianceparticles時花了約30分鐘,之後的每一張約花3分鐘(render大小約為1k)。
http://img396.imageshack.us/img396/2710/shot001rg2.png
http://img120.imageshack.us/img120/6391/shot060hn3.png
http://img72.imageshack.us/img72/8105/shot0109ut1.png
(importons密度0.5,depth4; irradianceparticles,680rays,2張,32interp,480envrays)
這裡有一段動畫可以看出 Irradiance Particles 有效減少閃爍的現象。
這是設定為中等細節後計算出的結果。雖然在陰影的部份仍然有一些班點。但是,這些班點不會閃爍,因為沒有每個frame都重新計算。(捆紮配備了網頁壓縮)。
http://rapidshare.com/files/107992908/output3.mov.html
================================================== =============================================
另一個特點是配備了mr3.6 +是一種先進的幀緩衝記憶體管理。說白一點:快取模式。當您在快取模式,可以render任何尺吋的圖像(甚至在32位上)。實際上,如果啟用,只有一小部份render完成的的圖像(或是說用使者的framebuffers)是存在於記憶體之中:newly rendered tiles and tiles recently accessed。
這個模式應該只用於btach渲染(如果在maya內用render view又打開快取模式,maya會掛點…不過…在viewer裡render大尺吋的圖好像也沒啥意義)。我剛剛在32位系統上render完一張 20k的圖,存成32bit。比其他方法慢,這個模式應該只用於如果mental ray 沒辦法建立一個很大很大的framebuffer(一般來說在32位元系統上是指超過4K的圖)。
鋼筋混凝土0.2信息:選項:蛋白原號負責管理緩存
鋼筋混凝土0.2信息:選擇:圖像類型插
鋼筋混凝土0.2信息:0 rgba_fp是
鋼筋混凝土0.2信息:相機:焦距1.37795
鋼筋混凝土0.2信息:相機:孔徑1.41732
鋼筋混凝土0.2信息:相機:方面0.8
鋼筋混凝土0.2信息:相機:第16000 20000
================================================== =============================================
二個注意事項在於使用Importons+發光粒子和Maya2008SP1。
不要用任何maya內建的shader:
'Suppress all Maya Shaders'這個選項記得勾選。在 shading engine 節點(mia_material)中的'Export with Shading Engine',這個選項要不要勾選。
上述檢查事項也要對燈光做一次。'Suppress all Maya Shaders'選項要勾選,要提供自定的 light shader (MR sky protals不錯用)。
最後,在render setting中,到 Translation->Customization中把'Export State Shader'的勾選取消。
最後~~如果想要更進一步的描述和參數說明,請閱讀軟體手冊中 geoshader 一節。
也有64位版本(刪除.X64的後綴)。
祝你玩的愉快!
Max

dagon1978

2008年4月21日,下午3點27

不錯,但老實說,我看不出跟這樣跟使用FG+GI加上AO和色溢有什麼差異。
你可以用skyportals得到物體交接處的陰影,這陰影還是area lights把室外的環境光傳遞裡室內得到的結果,如果你再把這結果拿來跟AO做出來的色溢混合還可以得到更進一步的結果,帶有色彩的物體交接處陰影,這樣的處理手法會導致後我們得到跟用發光粒子和importons這個手法一樣的結果。
而且更快~
我認為在 interpolated IP 你是正確的。
我想多說一些關於這一點,我認為暴力計算IP是一個很大的改善(比FG跟path tracing的暴力法快多了,甚至偽一體化),但我也對這種功能未來的方向擔心。
OK,現在我們有一個很好的起點(importons),它們公正呈現(或者類似這樣)renders 。為什麼不考慮看看漸進跟踪(像是在VRay裡的lightcache和PPT ...而明年他們有一個新的互動/逐行的render引擎基於此)?
就是我想說的是:我們不能從mr的開發者那裡得到回應、互動,我們看不到未來mr新功能的方向在哪裡,這肯定是不好的,因為很多時候他們不會採取對user正確的方向,恕我直言。
mental ray的開發者們,你一定要聽user的需要,如果你想進步!拜託!
現在,從另一面想,我們有ZAP(mr大濕(誤)),所以我可以跟他談論著色,我真的相信他把所有我們所提的意見認真的考慮過,我看得到這一點的好處,現在我們在mr的shader 整合上有很好的成果,這正是目前mr所展現的成果。
另一頭,我們有核心開發(我可以裡批評很多,但我想要有點建設性),那為什麼不能有一個論壇(拜託,都2008年了!),甚至mray網站上的資訊都非常落後(mray 3.3的資訊?噢,我的...)
然後我看的到後果,...需要很多功能,也增加了一些新功能,但沒有一個有說服力...
好~再回頭想想 interpolated IP,我真的希望在下一版本做到更好,但嘿,回顧過去的問題(我說的是FG 3.5版時的 interp 問題,從第一天我用mr 3.5 上工就遇到這個問題,直到現在都沒改進…3年了耶…?)這難免令我有點擔心...
現下,就我可以理解的部份(我不是技術人員),有一些IP機制本身的錯誤,我指的是 IP 計算內插這一部份。
對光子(phootn)好的開始是:(和lightcache,所有好的演算法中的二次射線)如果你需要一個插值解法,您可以用一個平穩和快速計算的二次射線的散射光,並用良好的主射線演算法來添加細節(在mr就是fg,在vray就是irradiance cache)
現在的IP:您可以射出importons為主要射線和二次射線,但你不能單獨控制其中一項要品質!
恕我直言,這對IP及其插值計算這是大問題,如果你想有一個良好的 GI 就要射出很多importons,許多importons =要射算大量的射線,射算大量的射線+很多importons =很長的 rendertime。現在你可以有一個近乎完美的interp IP算圖。但rendertimes非常接近沒做interpolated 解法的!
在未來幾週我會做一些比較,這樣您可以比較容易看到。
因此,如何解決?
恕我直言 就是分開主要次要射線的控選項!所以有兩種方法可以選擇:有光子+FG的方法(原本mray方式),和另一種VRay(和海龜和FR和邊疆區...)式,在核心裡獨立主要和次要射線!
這三年來我一直試著要求要有這個功能...我不明白,為什麼從來沒有聽有人說過它!烏龜(另一個renderer)的開發人員細心多了!因此,也許mray核心的一些技術限制導致你無法做這個改變,但是可以讓我們知道。後找尋另一種解決的辦法。
我不希望把這些討論開在另一個討論串,Max,希望你們能明白我想說的東西,我不是要批評開發人員,我希望這麼做有建設性,我想要給你們user的回應,我想做要求新功能等
但如果你不喜歡這樣的言論,我可以殺掉這一篇,並開啟另一個討論串...
thanx
mat

==翻譯結束===============================================

之後我再補上mr help裡關於 importons跟 Irradiance Particles的中譯