2013年5月6日 星期一

[筆記]在mac中編譯[gemvertexbuffer]物件

VBO是Vertex Buffer Object的簡稱,是OpenGL的一種功能,它提供利用顯示卡的記憶體來儲存資料,並且因為直接在GPU運算,所以大大提高了程式的運算效能。

Pd的GEM雖然是使用OpenGL當作開發引擎,可是因為使用版本過舊(OpenGL 1.5),所以並沒有VBO這功能,不過好在CHDH的Cyrille以及Antoine開發了[gemvertexbuffer]這功能,不然Pd在vertex上的大量運算,效能始終很差。(大量vertex節點,在Pd通常是利用[GEMglvertex3f] 此物件來製作,可以參考此範例

目前[gemvertexbuffer]的功能還沒放置於Pd-extended 的版本內,因此要透過自己編譯來使用它。

步驟一:下載原始程式碼,檔案在這原始開發討論串

步驟二:http://puredata.info/downloads/opencv/releases/0.2,安裝OpenCV,把檔案下載後,解壓縮後將整個資料夾(OpenCV.framework)移至入徑/Library/Frameworks內。

步驟三:下載此makefile檔,原始開發討論串

步驟四:講下載下來的makefile檔案,覆蓋至原本gemvertexbuffer資料夾內的makefile檔,並且用記事本打開檔案
搜尋:INCLUDES ,並且找到下述路徑
本來:-I/Applications/Pd-extended.app/Contents/Resources/include/
更改路徑如下:-I/Applications/Pd-extended.app/Contents/Resources/extra/Gem/dev

步驟五:打開終端機(terminal),
$cd 進入gemvertexbuffer的資料夾
並鍵入$ make

步驟六:看到gemvertexbuffer.pd_darwin,及代表編譯成功

步驟七:這裡是我編譯好的檔案 [gemvertexbuffer.pd_darwin],另外這裡則有gemvertexbuffer-help.pd檔,把兩個檔案放置同資料夾,即可使用[gemvertexbuffer]的功能。



步驟八:或者也可以透過Xcode 編譯,這裡是我的Xcode 的專案檔,下載