3D graphic 的演進

昨天聽了台大簡韶逸教授的演講, 對 3D graphic 又多了一點認識. 先前我自修了幾個小時的 3D,  但是還是比不上聽 2 個小時的演講.

3D Graphic 的技術基本上是硬體愈做愈多, 但軟體卻也沒有愈做愈少. 假設 3D 技術可分為 Transform and Lighting ( T&L – 幾何轉換及光源), Rasterize, Texture, Blend and Z-buffer 這幾個單元的話, 早期的 3D graphic card 只包含 Texture 和 Z-buffer 這兩部分 (1998 年以前).

Milestone 1:

3dfx 的巫毒卡 (VOODOO), 我聽說它效能很讚, 也去敗了一張. 這張卡的特色就是把整張圖切細, 比方說用 4 個 sub-frame 來計算整個畫面, 最後再接起來. 因為這個技巧的確有效, 所以它也紅了一陣子.

Milestone 2:

1999 年的下半年, NVIDIA 的GeForce 256,首次支援硬體的 T&L. 這樣一來,  CPU 就不用算很多浮點數了, 效能自然是大大地增強. 可惜 Voodoo 不知道在堅持什麼? 始終都不支援 T&L, 最後就被 NVIDIA 給併購了.

2001 年, NVIDIA 引進 programmable vertex / pixel shader 的觀念. 所謂 vertex shader 就是 T&L 的進階版,  pixel shader 或是 fragment shader 就是 texture 的進階版. 怎樣進階呢? 就是把原本寫死的硬體, 做成可以程式化的巨量運算單元, 再以程式來控制想要輸出的 vertex 或 pixel 運算. 這個概念影響了 Direct X 8 的方向, 使得新版的 Direct X 都伴隨著 shader model 的更新.

老師的講法, programmable pixel shader 在 2002-2003 才出現. 但網路上的說法, pixel shader 和 vertex shader 應該都是 2001 年的 Geforce 3 的發明.

Milestone 3:

2002 年, ATI 推出 Radeon 9700 這顆 IC. 裡面用到的新技術還頗不少, 比方說這是第一顆 flip chip 的 IC, 對於散熱問題有了不少改善. 在驅動程式方面也產生了很大的突破, 由於可程式化的技術已經相進步; Wiki 上說它執行抗鋸齒(AA)和各異向性過濾(AF)運算時,在所有情況下,它能比 GeForce 4 的 Ti 4600快上40-100%。這顆 IC 因為效能遠勝 NVIDIA 而大賣了 3 年.


Milestone 4:

2006 年 11 月, NVIDIA 再度推出具有 unified shader 概念的 GeForce 8800. 所謂 unified shader 就是把 vertex shader 和 pixel shader 整合在一起. 同一個 shader 既可以做 vertex shader, 也可以做 pixel shader.

網路上的講法說, unified shader 就是 steam processor. 但是簡教授認為的 stream processor 至少要有 register 的概念, 才比較像 processor. 這是發生在 2007 年.

Milestone 5:

2008年2月, NVIDIA 收購 AGEIA, 推出 CUDA 語言, 使得顯示卡變身為平行處理電腦. 這邊就算是 GPGPU (general purpose GPU) 的起點吧!

綜合以上資料, 應該有一個 milestone 是把所有的 buffer (Vertex buffer, Texture buffer, Z-buffer) 整合成 unified buffer. 但是哪一顆 IC 率先推出這個改進就不得而知了.

總之, 搞繪圖卡的這些人頭腦還挺不錯的. 在激烈的競爭之下, 大家接力地推出可以徹底打敗敵人的招數. 目前 ATI, NVIDIA, Intel 雖然表現出三雄鼎立的架勢, 但誰可以在下一個階段勝出呢? 真是很有趣的一個問題. 繪圖卡愈來愈像小型 super computer, 到時候應該要比誰對軟體的支援最強吧?

另一個觀察的角度是: 當局者迷. 事後看來, 後面發展的路徑好像是顯而易見的, 但是十年前的人也都那麼聰明, 為何他們都想不到呢? 最好的解釋或許是人們不喜歡質變, 由量變過渡到質變的話則可以逐漸接受. 有誰一次想太遠的話, 只會被當作瘋子~~

Ref:

[1] 物竞天择适者生存!显卡10年技术漫谈

[2] http://zh.wikipedia.org/zh-tw/Radeon_R300

大 M 小 m 無所不在

週一到週五, 大 M 和小 m 威脅著我們的產品線, 週六和週日, 據說他們還在工作, 使我們的壓力有增無減. 不僅如此, 他們還以另外一種形式出現, 嚴重威脅我的平靜生活. 不只是我, 還有我的老婆, 特別是我的女兒.

話說這次國二下的期中考, 化學正好教到莫耳濃度 (M), 莫耳濃度 = 溶質的莫耳數 (m) / 溶液體積 (L), 就可以說明大 M 小 m 的關係. 不過我的女兒顯然很好騙, 她總是分不清楚大 M 和小 m, 特別和是 PH 值攪在一起的時候.

水的 PH  值 = 7 對嗎? 不對, 25 度 C 的時候才等於 7.

10-7 mole 的鹽酸溶於 10 公升的水, PH 值是 8 嗎? 錯! 因為酸的濃度太低, 要考慮到水裡面本來的 10-7 x 10 的 H+ 離子濃度, 所以 PH 值大約為 6.8.

別說是有陷阱的題目了, 就算是 0.1 M 的鹽酸 (HCl), PH 為 1, 0.05 M 的硫酸 (H2SO4) 的 PH 也是 1, 這個我女兒就搞不清楚了.

還有一些是要背的, 我已經整理出口訣了:

灰 = 生灰, 因為有羊 (氧) 站在石頭上, 所以化學式是化鈣.

石 = 石石, 因為炭 (碳) 有灰, 所以化學式是酸鈣.

生石灰像泡麵, 加水變成熟石灰, 也就是氫氧化鈣. (加水會得到氫應該是顯而易見的, 就不用編了).

小蘇打因為比蘇打小, 比較輕 (氫), 所以蘇打的化學式是碳酸鈉, 而小蘇打就是碳酸鈉.

然而我女兒也不是記心甚強的郭靖, 段譽, 楊過, 張無忌之流, 而是幾乎什麼武功都學不起來的韋小寶. 嗯, 我看她可能退出武林, 專心畫漫畫就好了, 以免長大之後還要受大 M 小 m 之苦!

Dolby 的 DMP Suite

螃蟹公司把 DMP 的市場做到每月營業額破兩億元, 而 Dolby 也 "順勢" 推出了 DMP 專屬的套件. 難道這是巧合嗎?

嗯, 真的是巧合耶!

我們的 DMP 是指 digital media processor team, 賣出的產品叫做 digital media player. 但是 Dolby 的 DMP 可是叫做 Digital Media Producer.

基本上它是 PC 上的軟體, 可以用來編解, 甚至於修復 Dolby 家族的 bit stream. 分為網路版和單機版販售.
 

Dolby Media Producer Suite (Network Bundle) $3,995

Dolby Media Encoder

Dolby Media Decoder

Dolby Media Tools

Dolby Media Producer SE Suite (Stand-alone Bundle) $995

Dolby Media Encoder SE

Dolby Media Decoder

Dolby Media Tools

 

電腦規格

CPU Models and Requirements

Apple Mac Pro with two 2.66 GHz or faster Intel® Xeon® dual-core processors 

Mac OS X version 10.4.2 or later

 

日文的現在進行式

日文的現在進行式, 就是由動詞的形變化, 後面加上 います就行了. 相形之下, 中文真是簡潔有力, 不就是 "正在幹啥" 就解決了嗎?

います是指生物的存在, 生物以形存在, 就是現在進行式. 例如:

A さんわ 今 日本語を  べんきょうして います。

勉強 (學習) 的 べんきょうします 就變成了 べんきょうして.

至於 ます 形如何變成形, 會用到五段動詞變化 . 基本上先變回原形動詞, 然後再根據它是 3 群動詞中的那一類, 轉換為形. 

Group 1 就是根據 て形動詞變化的記憶歌 這首歌來記憶.

Group 2 就是去ます.

Group 3 就是死記.

ます形直接轉形的速成法, 詳見另文.

同學們討論到為何要有 group 1 和 group 2 的差異, 我覺得很有道理. 比方說:

おきます可以表示 起(お)きます 或是 置(お)きます, 但它們的 て形不一樣, 這樣比較不容易誤認. 因為我們還是希望常用的動詞可以短一點, 在字母數那麼有限的情況下, 只好做點小變化.

起(お)きます → 起(お)きて   (group 2)

置(お)きます → 置(お)いて   (group 1)

若是兩個詞本來長得不一樣 , 經過 形變化後, 反而變得一樣了, 此時就用重音來區別. 

打(う)ちます → 打(う)って   (group 1, 重音都在前面)

売(う)ります → 売(う)って   (group 1, 重音都在後面)


來自巴拉圭的小孩

期待了好久的兒童認養, 今天終於收到家扶中心寄來的資料了. 當初在考慮認養機構的時候, 曾經參考過:

台灣兒童暨家庭扶助基金會


世界展望會 資助兒童網站 – 首頁

因為前者可以選擇的項目似乎較多, 所以我加入的是桂綸鎂代言的家扶系統. 當然, 我也不希望指定太細的項目, 以致無法幫助到最需要幫助的人. 像是對方是哪個國家的小朋友? 我就讓家扶中心去傷腦筋了, 得知最後結果的時候, 還會有一種抽福袋的喜悅.

首先要從網路下載轉帳授權書, 填好之後傳真或寄到對方的辦公室, 接著就是等消息了.繳款的方式非常多元, 包括

郵政劃撥
信用卡自動轉帳
銀行/郵局自動轉帳
便利商店條碼捐款單
ATM自動櫃員機轉帳

我收到的認養資料包括了一本厚厚的認養人手冊, 巴拉圭 (Paraguay) 的中英文簡介, 還有一張附兒童照片的聯絡資料. 想和認養兒童的聯絡的話, 需要透過巴拉圭的 “聖羅奎台灣認養專區“中心轉信, 沒辦法自己聯絡. 我認養的小朋友就是來自聖羅奎 (San Roque) 地區, 是一個小學三年級的女生 Celina, 看照片長得很可愛.

不知道哪裡在下雨, 我的手冊淋濕了. 右邊的那個小朋友是廣告用的參考圖片, 我覺我的小朋友更可愛 (“家長" 愛比較心理已經出現了).

San Roque 的簡介說: 該地區的男人大多從事小販, 水泥工或水電工, 女人多數是幫傭, 小販, 或是家庭主婦. 不用說這裡的人很窮, 教育機構只有一間小學. 他們大多數是歐洲人和印地安人混血的 Mestizo 族, 佔巴拉圭人口的 95%. 他們以瓜拉尼語 (Guarani) 為主, 少數人說西班牙語或是同時通曉兩種語言.喔喔, 我看我寫信都有問題了.

Anyway, 只要每個月花 700 NTD 就可以認養一個小孩囉, 花費真的不多. 我的下一個計畫是認養一個非洲小孩. 不過聽說某些國家的小朋友夭折率超高, 我很不想要我認養的小孩突然掛掉, 這樣會讓人很難過. 可是他們又正好是最需要幫助的, 真是令我感到矛盾啊!