Thursday, November 18, 2010

RAGE

id的新作rage已經出了,在 iphone上...

但是...Apple偏偏要搞什麼分區阿,台灣的app store都買不到,我想花錢買遊戲,為什麼你不讓我買!!!!

p.s.
JC大神在iphone rage開發後有寫過一篇文章,喜歡low level programming的人應該會發現一些有趣的資訊吧。

Tuesday, November 16, 2010

OpenCL FFT & ocean water pt.3


終於得到正確結果,一個畫面執行了三次256*256的2D FFT,一次用來產生高度,兩次用來產生normal的x與y值,風向是+x方向,顯示的是normal的x component。雖然模擬的是海,不過看起來有點像terrain。
顯像完全是暴力法,一個normal值對應一個vertex,雖然我想說我喜歡暴力顯示:),不過這其實是OpenCL FFT lib的限制,不讓我用OpenGL的貼圖,只能用vertex buffer當作output memory。
效能還沒仔細量測,不過看起來FFT的確是GPU的強項。

Sunday, November 14, 2010

House&Home

又到了換房子的時節,今天去了新莊,首先沒看房子而是去輔大偷看女學生(我這樣寫會不會很像變態阿,不過一個阿宅還能做甚麼呢,至少我很誠實...),很可惜大概是禮拜天所以學生不多,不過有看到啦啦隊和跳舞的學生在練習。

走了輔大一圈,感覺上是個不錯的小學校,然後不知道為什麼,有很多的銅像,好像很多都是傳教士吧。

看了輔大附近一間套房,舊的透天屋改建的,裡面還算不錯,空間很寬敞,可是外面環境很差,到了晚上應該是個恐怖的小巷子,這樣也要9000。

下午看了一間中港路的獨立套房,老實說還滿喜歡的,裝潢得很漂亮,原木地板,空間也很大,唯一的缺點可能是沒有停車位。房租加管理費要一萬大洋,雖然已經有點衝動想租了,不過當時理智戰勝了衝動。回家有點後悔,不過看網頁那間房子好像已經租掉了。

一萬大洋租個不錯的套房到底值不值得勒,雖然說看起來不錯,空間很大,不過大概也只有老家書房大小。然後一整棟的大樓都是這種套房,一個大樓不知道塞了多少人,這樣的房子好像還非常搶手,台北阿...




Rants

選項
1. 省一點住便宜套房可是生活品質低落,可是可以買書和遊戲。
2. 少買一點書和遊戲,花多點錢住好一點的套房,不過生活品質事實上也只是普通而已。

媽的都是要住套房,我他媽的厭倦了套房阿

Sunday, October 31, 2010

新手套 & 花園夜市


沒甚麼關聯的標題,幸好最近的標題都走混搭風(??),所以還不錯...(???)

今天是暑假第一天,去了康康推薦的kazuma買新手套,一開始去找本店,還滿難找的,在永康的一個小巷子裡,兵仔市場旁邊,最後找到的時候他沒開orz,還被我哥罵笨蛋,所以又跑去新開的成大分店,還好有開。


店裡手套很多,不過不知道該選哪個好,我問店員有沒有推薦的,他就說有常在玩就買硬一點的比較不會變形,沒有就買軟一點的比較不用整形。

之前不見的手套是SSK的,今天有看到一個長得很像,試戴過感覺不錯,跟不見的那個也很像,只是SSK的手套很硬。


我估計了一下以後有可能真的玩傳接球的機率,就乖乖的買了一個比較軟的,Mizuno牌。




手套買拉,可是真的有機會玩嗎,心裡有點存疑阿...真的很懷疑阿...


晚上跟我哥去吃了一家據說也是老字號的日本料理,東京益田,因為餐廳裡面都客滿了,所以就坐在外面的位子,天氣有點涼,所以就一邊吹涼風,一面聽候選人的競選口號一邊吃,感覺很不錯。

他們的握壽司,薑汁燒肉和烤雞腿都不錯吃,不過我點了一個有點奇怪的東西,生鮪魚拌山藥,我覺得應該是拿來做成蓋飯上面的料拉,不過沒有點白飯,只好加了一堆醬油把它唏哩呼嚕的吞下去...味道的話就沒有太詳細去品嘗了,不過魚應該有新鮮...


我因為家裡離花園夜市徒步距離十分鐘可是卻從來沒有去過而遭到同事恥笑,所以吃完晚餐就決定來雪恥,逛花園夜市,最後在夜市吃了有點普通的烤雞串(還要等二三十分鐘)和哈密瓜牛奶,然後突然想起來,這不就跟去花蓮自強夜市吃的東西差不多嗎(過程也差不多)。


我哥還跟我說如果想吃燒烤可以帶我去好一點的店,我只好跟他說其實我並不是想吃燒烤...好難解釋...。所以我內心os的結論是,夜市果然都是拿來騙觀光客的東西拉!!!



不過為了迎合大家愛逛夜市的奇特習性,我會對外宣稱花園夜市真的很棒。


最後,跟我哥去了一家夜市旁邊的咖啡店,他們的敗筆是居然沒開冷氣,雖然今天天氣有點涼了,不過店裡面還是很熱,點了英式奶茶,沒特別好喝,不過上面的圖案...花紋...(這有個專有名詞的嗎)很漂亮。

感覺跟這個部落格的主題完全不搭,不過暑假很棒,回家也很棒,只是太少回家感覺在家裡的空間越來越少了。

Wednesday, October 27, 2010

OpenCL FFT & Ocean Wave pt. 2

稍微正確的結果,之前的錯誤並不是高頻波,而是虛數的部分,因為Apple 的OpenCL FFT沒有complex to real這種轉換,所以inverse FFT出來的結果其實是複數,忽略掉虛數部分是上圖結果。

CUFFT有提供complex to real FFT這種轉換,只要在frequency domain符合一些對稱的條件,可以保證output會是實數,input size可以從N減為(N/2) + 1,在Cuda的ocean wave demo中,他們用這個方法來進一步加速,可惜的是Apple的FFT沒有這個功能。


不過照Tessendorf paper上的公式,我看不出一定會符合對稱的條件(?),那這時候轉換出來虛數的部分代表甚麼呢?感覺上已經到達我數學能力的極限了,數學只要不用,實在是退化的非常快阿...還好工作上都用現成的library,幾乎所有東西都是黑盒子啦,難的東西都交給別人寫就好...

一些相關reference

Wednesday, October 20, 2010

OpenCL & FFT ocean wave

應該是錯的,出現一堆極高頻波,Fourier Transform我從來就沒學好過。

FFT kernel是Apple的library,2D FFT 256 x 256在8600M GT上花費約0.082 ms,已經相當快了,不過聽說CUFFT(Cuda的FFT)速度比OpenCL更快。

Thursday, October 7, 2010

Z prepass & alpha test

我想我終於真正領悟了Z prepass renderer的奧義,我們的場景裡如果有很多alpha test的物件例如樹的話,效能常常會下降很多,這是因為alpha test的物件沒辦法有early Z,所以所有的pixels都會執行pixel shader,但如果在Z prepass架構下:

第一個pass用最簡單的shader,開啟alpha test,把樹的Z值寫到Z buffer。
第二個pass執行真正的複雜的shader,Z function用equal,然後把alpha test關掉,因為Z test已經可以把樹刻出來拉,如此複雜的shader就有了early Z的效果。

今天測試了一下,有些樹的效能可以從0.7ms提升到0.2ms以下。當然,樹如果用了alpha to coverage,這個方法就沒辦法用了,幸好我們的場景沒有這種樹。