Thursday, June 28, 2007

UberLight parameter mapping

width -> tan($CONEANGLE)
height -> tan($CONEANGLE)

將ShapeLightVolume函式中呼叫clipSuperellipse的參數由
clipSuperellipse(...,width, height,width+wedge, height+hedge, roundness); 改成
clipSuperellipse(...,width-wedge, height-hedge,width, height, roundness);

再將
wedge -> tan($PENUMBRAANGLE)
hedge -> tan($PENUMBRAANGLE)

$CONEANGLE 為 maya中(coneAnle+penumbraAngle)/2/360*PI

How to determine shader working in slim icon preview or normal prman render

通常Shader如果在rat slim palette中做一些事情會讓整個rat crash掉,
例如bake3d這個function,
或者是需要在preview的時候做一些取巧的小步驟,
這時候就需要判斷現在是rat的internal render還是一般的prman render,
比較傳統的做法是shdader code是genrate出來的,
這樣就可以利用Context來做一些區分,
可是這樣的Shader要寫一堆的output,
而且如果本來的shader就不是這樣寫的就需要花很多的工夫改寫,

這時候可以用option()這個function來作弊,
仔細看preview產生的rib內容,
會發現他會設定 Option "user" "int PreviewRender" [1]
這一般的Render並不會這個otion,
所以可以藉由 option("user:PreviewRender", isPreviewRender) 來做判斷,
這樣應該大部分的情況都可以適用吧!

---------------------------------------------
Some operations will make rat crash in rat slim internal render, like bake3D().
Sometimes we also want to do some trick in preview render.
How to determine shader working environment become very important.
In general case, we can use "Context" to get the environment.
If we want to use this approach, we will write very output to generate code.
If the original shader is rsl shader, it spends a lot time for converting to slim TCL code.

We can do some trikc by using option function.
The preview rib code contains such line:
Option "user" "int PreviewRender" [1]
General prman render didn't set this option.
Therefore, option("user:PreviewRender", isPreviewRender) will get the setting.
I think it would work fine in general case.

Wednesday, June 20, 2007

沒有計劃的旅遊:鶯歌 & 石門水庫

2007/06/16 (午後雷陣雨)

難得的端午4天連假,
一定要好好的玩一下,
原本計劃要去搭火車去花蓮玩,
不過我實在太小看返鄉的人潮了,
竟然在開始預訂火車票的當天就賣光光了,
所以想了一想,就改變目的地,
來去拉拉山。

因為麗玲有一個很好的朋友要結婚了,
所以我們想說也許可以去鶯歌找一些有意義的陶瓷藝品,
可以當作新婚賀禮。
因此就決定第一天去鶯歌做陶瓷,
然後夜宿拉拉山附近,隔天一早就可以去拉拉山逛逛神木區,
下午再去大溪晃晃,然後就可以很完美的結束這個旅程。

如果一切都可以這麼順利,就不會說是沒有計劃的旅遊了。
一開始的打算是要騎摩托車出發,
一來機動性高,二來沿路風景優美,不想要困在汽車這個鐵箱子。
可惜天公不做美,
星期六出發的時候天氣雲層超厚,
感覺就像會下大雨的樣子,所以摩托車計劃就被腰斬了,
第二選擇就是租汽車,
當然啦,細心的我一定會檢查一下需要帶的東西,
結果頓時發現---- 我的汽車駕照剛好過期..... :(
這樣子就應該沒有辦法租車了,
跟麗玲討論了一下,
鶯歌陶瓷老街從火車站步行過去一下子就到了,
所以就臨時決定先搭火車出發到鶯歌,
之後要往拉拉山就搭小黃,錢也不會比租車多多少。

很順利的,在台北車站買到了兩張往鶯歌的坐票,
在火車上瞇一下,不用半個小時就到了,
到了鶯歌就開始今天的重頭戲:挑結婚賀禮,
因為結婚的新人正好一個姓郭,一個姓牛,
取諧音正好就是 "蝸牛",
所以我們尋找的目標就是以蝸牛為主題的藝品,
結果整個鶯歌老街逛下來,
只有找到一個以蝸牛為主題的東西,
還是一個青銅蝸牛造型的水龍頭,
可是誰會結婚送一個水龍頭,
再加上造型實在不佳,所以就放棄了。

這時候只好執行B計劃了,
鶯歌老街上有很多的手拉坏教室,
可以自己做東西,所以就改自己捏好了。
在來之前也是有稍微做個功課,
有一家"龍軒手拉坏"評價不錯,
所以就決定在這邊捏一個蝸牛造型的結婚賀碟。

因為燒窯陰乾都是需要時間的,
一般是要三個禮拜,
可是我們的朋友再兩個禮拜就要結婚了,
所以我們就要求一下老闆幫我們趕一下,
老闆也很阿沙力的答應了,要在兩個禮拜內燒好給我們,
真是好心的老闆。

老闆先讓我們開始從拉坏開始做起,
麗玲要做盤子,那我想了一下,我做最普通的杯子好了,
所以老闆就教我們一步步慢慢把型拉出來,


因為拉坏有特定的手勢,用力的地方也不同,
所以只見老闆不停的叫我手夾緊一點,這樣型才會出來。


這就是半成品的樣子,

看起來很不賴,可是其實大部分都是老闆拉的,
我們只是負責把手放在陶土上,
不過雖然如此,還是很有成就感。


之後就是開始放裝飾的部份了,
這時候就換成另外一個老師上場,
我們也有問一下老師要怎麼捏出一個簡單的蝸牛,
老師當場愣了一下,
他一定在想這兩個傢伙的品味怪怪的,
怎麼會想捏蝸牛,所以他不時的轉換教學,
試圖讓我們捏像天鵝這些比較有美感的東西,
不過在老師得教學下,我們也完成的奇怪的裝飾,
我的蝸牛爬藤

麗玲的蝸牛盤


麗玲的盤子下面還要加上玻璃釉,
不過就要等要燒出來才能知道了,
希望到時候能夠有信心拿出來送人當作結婚賀禮。


寫到這邊感覺還像是有計劃的旅遊,
不過再來就是沒有計劃的開始,
因為可能會下雨,所以麗玲媽媽很擔心,
說去拉拉山會比較危險,
所以我們討論一下之後就決定不過去拉拉山,
改成明天在石門水庫玩好了,
因為這時候天氣不錯,
所以我們想說到中壢或桃園租摩托車到大溪,
因為直覺中壢比較繁華,
就想說坐火車到中壢再去租車,
這樣正好租一天就可以了。
想不到這就是漫無目的的開始~~~

到了中壢,到處都是吃東西的店家,
可是就是沒有租車行,
這時候我們看到一台往大溪的客運,
就想說,那我們坐客運過去,
然後到時候再坐小黃去玩。
所以我們就坐上往石門水庫的客運,
還很厚臉皮的跟司機說我們要去石門水庫風景區玩,
要在那一站下車,最好那一站還有很不錯的旅館,
我想司機大哥也被我們兩個打敗了。
應該是第一次看到這麼沒有計劃的人吧!!

不過司機大哥還是很好心的帶我們到石門水庫的福華飯店,
我們下車的時候還很好心的告訴我們可以跟旁邊的商家說,
請福華開車來載我們。
可是我們想說天氣很好,空氣也很舒服,
再加上跟旁邊當地人問路的結果,只要走10分鐘就可以到了,
所以就打算慢慢散步過去,反正是出來玩 :)

結果走了20分鐘之後,
忽然覺得大事不妙,
因為原本以為是福華的建築物竟然只是蓋的很漂亮的民宅,
幸好旁邊有一家 "遊戲人間" 餐廳,
我們就跑過去問路了,
老闆超級好心,還請店內的工讀生騎車載我們過去,
這才到了睡覺的地方....

福華不愧是為飯店,多了很多民宿沒有的設施,
像是三溫暖,水療室,游泳池....
只可惜我們沒有帶泳衣,
所以只能用個三溫暖。




第二天一早,
因為飯店有蛋糕DIY的活動,所以我們就跑去參加了,
到那邊一看,都是爸爸媽媽帶小朋友,
只有我們兩個算年輕人,
我們需要做的第一步就是打鮮奶油,
材料飯店已經調好了,把鮮奶油打到發泡就可以了。


其實這樣打好就可以吃了,
然後看你是要做巧克力鮮奶油還是芋頭鮮奶油就加不同的料,
我們是選擇巧克力,蠻好吃的,沒有一般鮮奶油膩膩的感覺。
之後在用模子將蛋糕做成不同的形狀,
我們選了一個小象跟太陽形的模子。


最後再將辛苦打的鮮奶油塗在上面,
然後在做一下造型,就完成了。




這時候時間也快中午了,
我們想說昨天受到遊戲人間老闆的照顧,

今天中午去那邊吃好了,
說也奇怪,今天走過去很快,10幾分鐘就到了,
因為這家店是點菜的,我們又只有兩個人,
所以就點了古早味肥腸跟乾扁四季豆,
肥腸酸酸的又很Q,感覺是有一點客家薑絲大腸的改良版,
比較沒有那種酸到不行的口感,
所以雖然很大盤,我們兩個人還是喀光光。

乾扁四季豆感覺是稍微過個油後快炒,
撒上蔥花跟胡椒鹽,
十分爽口,沒有一般過鹹與過老的問題,
也不會因為太生而有一股青菜的臭青味。

老闆的女兒也在我們吃飯的時候也有問我們等會要去那裡玩,
我們就跟他說要坐小黃去石門水庫玩,
聊了一下,他就說要把摩托車借我們,
說這樣我們會玩的比較盡興,
真是超級熱情,
我們覺得很不好意思,想說要付個租金,
他卻堅持不收。
後來老闆煮完菜也有來聊一下,
他還不知道我們已經從他女兒那邊借了台摩托車,
結果他聽了我們的行程也說要把他的摩托車借給我們,
真是豪氣的父女倆,
我們想說要押個證件之類的,
老闆也說不用,真是讓我們感受到濃濃的人情味。
下次有機會一定還要品嚐他別的美食。


最後我們就借了老闆的車前往石門水庫了,
大部分的時間都是騎車逛風景,
它的道路騎起來很舒服,
會讓人忘了時光的流逝,所以我也忘了騎了多久,
不過快到阿姆坪的時候,開始飄了雨滴,
正好旁邊有看到大溪湖畔咖啡,
這家算是非常有名的店家,
所以我們就想說去那邊避避雨順便休息一下,
想不到裡面排了一堆人,
所以我們就去另外一家店:Tony House,


這家店的外觀真的不太佳,
還好裡面真的好不錯,
因為我們中午吃很飽了,所以我們就只有點飲料,
他有一區是專門喝飲料的地方,
那一區就只有我們兩個,感覺很棒,
而且沒有食物的味道,更可以感受到空氣的清新。

這時候雨開始變成超級大雨,
整個湖面都灰濛濛的,這樣一邊喝飲料,
一邊看著雨中的景色,真的很不錯。


後來開始停了,就很慶幸今天有下麼一場雨,
因為整個湖面上的小山頭都纏繞著雲霧,
很漂亮,所以我們記在這個沒有在計劃中的景點呆了很久。
唯一比較可惜的是我的相機不能把這些美景拍出十分之一美,
所以只能夠把這份感動留在心中了。