//Pixel Bender 檔名 RGB.pbj
<languageVersion : 1.0;>
kernel RGBFilter
< namespace : "jt.com.tw";
vendor : "jt";
version : 1;
description : "";
>
{
input image4 src;
output pixel4 dst;
//parameter的<>是可無的,有的話是限制輸入數值
parameter float amount
<
minValue: 0.0;
maxValue: 1.0;
defaultValue: 0.5;
>;
parameter float red
<
minValue: -1.0;
maxValue: 1.0;
defaultValue: 0.0;
>;
parameter float green
<
minValue: -1.0;
maxValue: 1.0;
defaultValue: 0.0;
>;
parameter float blue
<
minValue: -1.0;
maxValue: 1.0;
defaultValue: 0.0;
>;
void
evaluatePixel()
{
//取樣32bit
//old method
dst = sampleNearest(src,outCoord());
dst.r += (red*amount);
dst.b += (green*amount);
dst.g += (blue*amount);
}
}
//Flex 程式碼如下
2011年3月28日 星期一
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)
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.
- Pixel Bender Kernel Syntax是由<>加上一些字串所組成。
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上需注意:
原文:
將Piex Bender使用在Flash Player上需注意:
原文:
- The preprocessor symbol AIF_FLASH_TARGET is defined to be 1.
- Flash Player always uses 1x1 square pixels. The function pixelSize() always returns (1.0, 1.0), and pixelAspectRatio() always returns 1.0.
- The selection operator (?:) can be used only to select between two constants or variables.
- 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.
- The only available flow-control statements are if and else.
- The following are not supported:
Custom support functions and libraries.
Dependent values.
Arrays.
The Pixel Bender graph language.
- 預先處理符號 AIF_FLASH_TARGET 需被定義為1。
- Flash Player只會使用 1x1方形像素。pixelSize()總是回傳(1.0,1.0)而 pixelAspectRatio() 總是回傳1.0。
- 運算子 ?:只能用於選擇常數或是變數。
- Pixel Bender圖像每一通道有32bit,但圖形在Flash Player 10每通道只有8bit。當Kernel運行在Flash Player時,輸入圖像的資料將轉換成每通道32bit,當kernel執行完成將會轉回成每通道8bit。
- 用於Flash Player上時,流程控制只能使用if 與 else。
- 下列是不支持的
客制化函式與類別庫。
Dependent values。
陣列。
Pixel Bender的圖形語言。
Pixel Bender 簡介
Pixel Bender簡介
Pixel Bender核心語言是一種C語言的延伸,使用於圖像處理。他是基於GLSL,而GLSL又是基於C語言的,任何C語言的程式員因該會很熟悉。如果你有OpenGL/GLSL的背景你會發現一個Pixel Bender的程式,他類似一個fragment shader(片段著色器)。
Pixel Bender核心語言是一種C語言的延伸,使用於圖像處理。他是基於GLSL,而GLSL又是基於C語言的,任何C語言的程式員因該會很熟悉。如果你有OpenGL/GLSL的背景你會發現一個Pixel Bender的程式,他類似一個fragment shader(片段著色器)。
- Pixel Bender一定要有一個evaluatePixel() function,運行是由此開始的。
- Piexl Bender編寫好程序後可以存成PBK檔,這個PBK檔可以用於Photoshop、After Effects。
- PBK編譯後成為PBJ能用於Flash Playerm。
訂閱:
文章 (Atom)