January 18, 2005

GL 實作研究

說來好玩,我大學時代曾經告訴自己不應該再鑽研 OpenGL Programming,沒想到現在峰迴路轉,我又開始研究 OpenGL,不過這次不是純粹 Programming,而是探討在 Embedded System 裡頭 GL 的硬體加速實作設計。

這個議題真的非常困難,光有電腦圖學的基礎是沒有太大的幫助,為了研究這個主題,我特別去研究 VIA CLE266 的北橋晶片組,對我一個學習軟體的開發者來說,這是相當艱深的議題,但是沒有這些基本功,想要徹底發揮硬體效能,絕對是緣木求魚。需要先簽署 NDA,才能拿到詳細的 datasheet,這點我就不多說了。

我的研究方向有兩個,一個是探討最小的 GL 實作 (注意,這裡不是指 TinyGL 一類部分相容 OpenGL 規格的迷你實作,而是在符合規格的前提下,最小的 software stack 可能性),另一個是在既有的 Graphics Toolkit 下強化硬體 GL 表現。

在我的簡報 [X Window System 的現況與挑戰] 中稍微提及未來 X Window System server 實作的種種挑戰,其中,3D Graphics 已經走出 2D mapping 的呈現方式,接踵而來的局面是 3D Living World,是此,FreeDesktop.org 已經有 Xserver over GL 的實作,在去年 Debian@Taiwan IRC Conference 時,我也跟與會的朋友討論過這個議題。然而,這些挑戰背後的學問實在是複雜的驚人,在撰寫新書的同時,也試著涉獵箇中的奧義,讀規格書是很無聊的苦差事,所以我想到一個很有趣的點子,也就是對既有的實作進行 Refactoring,這樣一來,依循二十世紀美國的教育學家杜威的「作中學」(Learning by doing) 的教育理念,弄起來也比較起勁。

屈指算算,我已經耗費 25 個工作天在這個基礎研究的項目,現在參考的計畫是 Mesa fbdev/DRI Drivers,參考硬體實作平台是 VIA Unichrome,未來這些成果也會陸續釋出,不過現在還處於「燒錢」(燒自己的積蓄) 的階段,更動的幅度還不是很大,好吧,就研究人員的角度來說,我是極度廉價的,只要有普通的網路環境與便當盒就可以養活我了 (*苦笑*)。

作基礎研究可能不是多吸引人的事情,畢竟真正能夠成功的項目不多,就算成功,要拿來 profit 要考慮的因素就更令人難以掌握,可能終其一生都會像我這樣成為苦哈哈的獨立工作者,但是一旦理解箇中奧秘,進而大刀闊斧的提出強而有力的新架構與實作,那種成就感實在不可言喻。

發牢騷完了,我又要繼續作基礎研究了 -- High Performance Hardware-Accelerated GL Implementation in Embedded System。希望自己不要 coding 到餓死 :(

由 jserv 發表於 January 18, 2005 04:55 PM
迴響