2011年3月26日 星期六

Pixel Bender 簡介

Pixel Bender簡介
Pixel Bender核心語言是一種C語言的延伸,使用於圖像處理。他是基於GLSL,而GLSL又是基於C語言的,任何C語言的程式員因該會很熟悉。如果你有OpenGL/GLSL的背景你會發現一個Pixel Bender的程式,他類似一個fragment shader(片段著色器)。

  • Pixel Bender一定要有一個evaluatePixel() function,運行是由此開始的。
Piexl Bender 執行時期引擎是集成客戶端的應用,能將Piexl Bender引入Photoshop 、After Effects、Flash Player。
  • Piexl Bender編寫好程序後可以存成PBK檔,這個PBK檔可以用於Photoshop、After Effects。
  • PBK編譯後成為PBJ能用於Flash Playerm。

預先處理器(Preprocessor directives)
Piexl Bender可以使用C語言風格的預先處理器
  • #if
  • #ifdef
  • #defined
  • #endif
  • #elif
  • #define
定義巨集(define macros)
可以使用#define來建立一個巨集,巨集可以接受參數,這是編譯前的預處理。


For example: 
#define COMPLEX_MULT(a,b) float2(a.x*b.x - a.y*b.y, a.x*b.y + a.y*b.x)
#define LOG2 float(log(2.0))

關於C語言風格的巨集可以參考該連結http://nknucc.nknu.edu.tw/~jwu/c/cpgch8.htm

預先處理的符號(Predefined preprocessor symbol)
The predefined preprocessor symbol AIF_FLASH_TARGET is available at compile time。
預先處理的符號(symbol AIF_FLASH_TARGET),可用於編譯時。

如果是編譯後是要用在Flash Player對像時用:
  • #define AIF_FLASH_TARGET 1
果編譯後不是用在在Flash Player對像時用:
  • #define AIF_FLASH_TARGET 0
千萬不要自己定義這個符號。

參考資料:
C語言風格參考
GLSL參考(維基百科)

沒有留言:

張貼留言