2011年3月26日 星期六

Pixel Bender 核心規格 - Kernel metadata

Kernel的後設標籤(Kernel metadata)
原文:
The first portion of the kernel definition is the kernel metadata, a series of name-value pairs enclosed in angle brackets:
  • 第一部分定義的是kernel的metadata部分,由一系列的name:value構成。
<
 name1 : value1;
 name2 : value2;
 ...
>;

Pixel Bender 核心規格 - Kernel Syntax

核心語法(Kernel Syntax)
  • Pixel Bender Kernel Syntax是由<>加上一些字串所組成。
<languageVersion : 1.0;>
 kernel name
<
 kernel metadata pairs
>
{
 kernel members
}
原文:
Every kernel must begin with the languageVersion statement, which identifies the version of the Pixel Bender kernel language in which this kernel is written, followed by the kernel definition.
  • 每一個核心需要在languageVersion中宣告Pixel Bender Kernel語言的版本。

使用Piex Bender 運行在Flash Player上注意事項

Using Pixel Bender with Flash Player
將Piex Bender使用在Flash Player上需注意:

原文:
  1. The preprocessor symbol AIF_FLASH_TARGET is defined to be 1.
  2. Flash Player always uses 1x1 square pixels. The function pixelSize() always returns (1.0, 1.0), and pixelAspectRatio() always returns 1.0.
  3. The selection operator (?:) can be used only to select between two constants or variables.
  4. Pixel Bender images have 32 bits per channel, but graphics in Flash Player 10 have only 8 bits per channel. When a kernel is run in Flash Player, the input image data is converted to 32 bits per channel and then converted back to 8 bits per channel when kernel execution is complete.
  5.  The only available flow-control statements are if and else.
  6. The following are not supported:
   Region functions .
   Custom support functions and libraries.
   Dependent values.
   Arrays.
   The Pixel Bender graph language.
  1. 預先處理符號 AIF_FLASH_TARGET 需被定義為1。
  2. Flash Player只會使用 1x1方形像素。pixelSize()總是回傳(1.0,1.0)而 pixelAspectRatio() 總是回傳1.0。
  3. 運算子 ?:只能用於選擇常數或是變數。
  4. Pixel Bender圖像每一通道有32bit,但圖形在Flash Player 10每通道只有8bit。當Kernel運行在Flash Player時,輸入圖像的資料將轉換成每通道32bit,當kernel執行完成將會轉回成每通道8bit。
  5. 用於Flash Player上時,流程控制只能使用if 與 else
  6. 下列是不支持的
  Region函式。
  客制化函式與類別庫。
  Dependent values。
  陣列。
  Pixel Bender的圖形語言。


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。